主要内容 #
1. PyQt5代码框架 #
PyQt5的常用框架结构是固定的,需要处理的是向框架里添加内容和处理逻辑
以下为PyQt5的常用框架结构
import sys from PyQt5.QtWidgets import QApplication, QWidget class Application(QWidget): def __init__(self): super().__init__() # 调用父类 QWidget 的构造函数 self.initUI() # 界面绘制交给 InitUi 方法 def initUI(self): # 增加自定义的各种界面操作 # 设置窗口的位置和大小,前两个参数表示离屏幕左上角的坐标,后两个参数表示窗口的大小 self.setGeometry(200, 200, 500, 500) self.setWindowTitle('图标') # 设置窗口的标题 self.show() # 显示窗口 app = QApplication(sys.argv) # 创建应用程序 ex = Application() # 创建窗口对象 app.exec_() # 进入消息循环
后续课程中常用界面,常用控件,常用布局,信号和槽,基本框架都是参考如上框架。
2. 界面 – QIcon介绍 #
应用程序图标是一个小的图像,通常在标题栏的左上角显示。
以下例子中将介绍如何做 pyqt5 的图标。
如下是QIcon的简单示例:
import sys from PyQt5.QtWidgets import QApplication, QWidget from PyQt5.QtGui import QIcon #导入QIcon class QIconExample(QWidget): def __init__(self): super().__init__() # 调用父类 QWidget 的构造函数 self.initUI() # 界面绘制交给 InitUi 方法 def initUI(self): # 设置窗口的图标,确保当前目录下有名为dashima.png的图片,或者自己任意置放图片,根据图片名修改以下参数 self.setWindowIcon(QIcon('dashima.png')) self.setGeometry(200, 200, 500, 500) # 设置窗口的位置和大小,前两个标志离屏幕左上角的坐标,后两个标志窗口的大小 self.setWindowTitle('QIcon') # 设置窗口的标题 self.show() # 显示窗口 app = QApplication(sys.argv) ex = QIconExample() app.exec_()
3. 界面 – QMessageBox介绍 #
默认情况下,如果我们单击x按钮窗口就关闭了。
有时我们想修改这个默认的行为,例如我们在编辑器中修改了一个文件, 当关闭他的时候,我们显示一个消息框确认。
如下是QMessageBox的简单示例
import sys from PyQt5.QtWidgets import QWidget, QMessageBox, QApplication class QMessageBoxExample(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(200, 200, 500, 500) # 设置窗口的位置和大小,前两个标志离屏幕左上角的坐标,后两个标志窗口的大小 self.setWindowTitle('QMessageBox') # 设置窗口的标题 self.show() # 显示窗口 def closeEvent(self, event): # 继承于QWidget,这是个槽函数,在下节课中会讲解什么是槽函数 reply = QMessageBox.question(self, '这是一条消息标题', "确定退出吗?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore() app = QApplication(sys.argv) ex = QMessageBoxExample() app.exec_()
这样在点x的时候会弹出消息框,来确认关闭。
4. 小结 #
- PyQt5的代码框架结构是非常固定的,可以在结构上添加想要的功能。
- QIcon是界面功能,主要用于修改应用程序的图标。
- QMessageBox是界面功能,主要用于弹出消息框的搭建。
习题 #
- 无