pythonGUI(pyqt5)入门

参考书籍《PyQt5快速开发与实战》王硕 孙洋洋 著

为什么选择pyqt5

诚然,对于python来说,有很多可选得gui库,比如python自带库Tkinter、wxPython、pyside2/6、pyqt5/6、甚至是pygame。pyqt是很成熟得第三方库,pyqt源于C++QT框架,功能十分强大,并且有qtdesigner可视化工具加持,大大简化开发得复杂度。pyside和pyqt均为qt框架下得python第三方库,选择pyqt5得主要原因是pyqt5有着更丰富得学习资源。

入门案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import sys 
from PyQt5.QtWidgets import QMainWindow , QApplication
from PyQt5.QtGui import QIcon
class MainWindow(QMainWindow):
def __init__(self,parent=None):
super(MainWindow,self).__init__(parent)
self.resize(400, 200)
self.status = self.statusBar()
self.status.showMessage("这是状态栏提示",5000) #底部状态栏,5s后消失
self.setWindowTitle("PyQt MainWindow 例子")
if __name__ == "__main__":
app = QApplication(sys.argv)
app.setWindowIcon(QIcon("./images/cartoon1.ico")) #设置图标
form = MainWindow() #实例化mainwindow类
form.show() #调用show方法,展示gui界面
sys.exit(app.exec_()) #系统退出

运行以上示例,会生成一个gui界面,右下角出现 “这是状态栏提示” 5s后消失

Qtdesigner

Qt Designer 是专门用来制作 PyQt 程序中 UI 界 面的工具,它生成的 UI 界面是一个后缀为.ui 的文件。该文件使用起来非常简单, 可以通过命令将.ui 文件转换成.py 格式的文件。实际上就是将组件转化为python类对象,