刚学 Python 的时候都是在文本编辑软件里面写,没有智能提示,效率实在底下,写项目当然要使用现代化的 IDE,PyCharm 是IntelliJ IDEA
的 Python 版本,是一个非常优秀的 IDE。(PS:我的电脑快变成IntelliJ IDEA
全家桶了)
所需软件:
PyQt5
PyCharm
PyQt5 首先需要提前装好 PyQt5,可参考:Python - Mac 下 PyQt5 环境搭建
PyCharm 配置 QtDesigner 这是个 Qt 的界面可视化工具,可以很方便的设计 UI,所见即所得。Designer 的位置Qt-5.5.1/5.5/clang_64/bin/Designer.app
,我们可以在 PyCharm 中配置 Designer 的路径,这样就可以在 PyCharm 中快速启动 Designer 了。
打开 PyCharm 的设置
找到 Tools -> External Tools
点击 + -> Create Tool
配置如下图
配置 PyUIC 这个工具可以把 Qt Designer 的 UI 文件,转换成 Py 文件,这是个命令行工具。
1 python -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.
打开 PyCharm 的设置
找到 Tools -> External Tools
点击 + -> Create Tool
Parameters:1 -m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.
配置如下图
使用 右键菜单中选择 External Tools 即可
使用 QtDesigner 做一个窗体程序 打开 QtDesigner 设计一个最简单的窗体,放置一个 Lable 控件
转换成 Py
HelloWorld.ui -> HelloWorld.py
HelloWorld.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow (object ): def setupUi (self, MainWindow ): MainWindow.setObjectName("MainWindow" ) MainWindow.resize(640 , 480 ) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget" ) self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(260 , 180 , 81 , 21 )) self.label.setObjectName("label" ) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0 , 0 , 640 , 22 )) self.menubar.setObjectName("menubar" ) MainWindow.setMenuBar(self.menubar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi (self, MainWindow ): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow" , "MainWindow" )) self.label.setText(_translate("MainWindow" , "Hello, World" ))
编写 main.py main.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import sysimport HelloWorldfrom PyQt5.QtWidgets import QApplication, QMainWindowif __name__ == '__main__' : app = QApplication(sys.argv) MainWindow = QMainWindow() ui = HelloWorld.Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
运行