主要内容 #
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是界面功能,主要用于弹出消息框的搭建。
习题 #
- 无