目的:编写Python桌面应用程序。
备注:也可以选择VS2017+QtDesigner ,但更喜欢VSCode
第1步:安装PyQt5和PyQt5-tools
pip3 install -i https://mirrors.aliyun.com/pypi/simple/ PyQt5
pip3 install -i https://mirrors.aliyun.com/pypi/simple/ PyQt5-tools
第2步:找到QtDesigner 安装路径
一般会自动安装在python安装目录中,如果安装了Anaconda3,则将会在如下Anaconda3路径中找到:
E:\Soft_dp\Anaconda3\Lib\site-packages\pyqt5_tools
将该文件夹中designer.exe生成桌面快捷方式,方便日后制作.ui文件。
第3步:打开designer.exe,并绘制你想要的UI界面,如下图所示:
绘制完后,起个名字,保存到你准备制作该项目的文件夹中,比如:welcome.ui
第4步:用VSCode转化.ui文件为.py文件
(1)打开VSCode,打开welcome.ui刚才存放的那个工程文件夹。
(2)在welcome.ui上右键选择如下图红色圈内操作。(该选项需要VSCode提前安装PYQT Integration扩展)
点击后,会自动生成一个叫:UI_welcome.py的文件,里面就是刚才绘制界面的UI类。
第5步:新建一个.py文件,用于启动程序,并调用刚才制作的UI类,必要代码和解释如下:
import sys from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import * from PyQt5.QtWidgets import QFileDialog, QMessageBox, QDockWidget, QListWidget from PyQt5.QtGui import * from Ui_welcome import Ui_MainWindow #导入创建的GUI类 #自己建一个mywindows类,mywindow是自己的类名。QtWidgets.QMainWindow:继承该类方法 class mywindow(QtWidgets.QMainWindow, Ui_MainWindow): #__init__:析构函数,也就是类被创建后就会预先加载的项目。 # 马上运行,这个方法可以用来对你的对象做一些你希望的初始化。 def __init__(self): #这里需要重载一下mywindow,同时也包含了QtWidgets.QMainWindow的预加载项。 super(mywindow, self).__init__() self.setupUi(self) if __name__ == '__main__': #如果整个程序是主程序 # QApplication相当于main函数,也就是整个程序(很多文件)的主入口函数。 # 对于GUI程序必须至少有一个这样的实例来让程序运行。 app = QtWidgets.QApplication(sys.argv) #生成 mywindow 类的实例。 window = mywindow() #有了实例,就得让它显示,show()是QWidget的方法,用于显示窗口。 window.show() # 调用sys库的exit退出方法,条件是app.exec_(),也就是整个窗口关闭。 # 有时候退出程序后,sys.exit(app.exec_())会报错,改用app.exec_()就没事 # https://*.com/questions/25719524/difference-between-sys-exitapp-exec-and-app-exec sys.exit(app.exec_())
然后,直接按F5运行该文件,就会弹出刚才绘制的窗口: