参考文献:
[1] https://blog.csdn.net/qingwufeiyang12346/article/details/79312821
[2] https://blog.csdn.net/qq_42980303/article/details/87869884
[3] https://blog.csdn.net/qq_27061049/article/details/88862976
[4] https://www.jianshu.com/p/85d477fcbc91
1. 安装pyqt
pip install pyqt5
会自动下载PyQt5以及sip并安装。
2. 安装pyqt5-tools
因为PyQt5不再提供Qt Desinger等工具,所以需要再自行安装pyqt5-tools,可直接在anaconda prompt中通过pip安装
pip install pyqt5-tools
因为网络等原因,可能会安装失败,多试几次,或者先下载whl文件再进行安装,下载地址:link
安装完成后,寻找designer.exe的路径。通过搜索,在以下路径发现了designer.exe
进一步发现C:\Users\wangy\Anaconda3\Lib\site-packages\pyqt5_tools\Qt\bin这个路径下是中文版,而C:\Users\wangy\Anaconda3\Library\bin路径下是英文版,选择英文版作为后面集成进pycharm的版本(这个路径后面会用到!!!)。
在pycharm中集成Qt Designer
- 打开pycharm, 然后file->setting->Tools->External Tools
- 点击左上角的绿色加号
- 填写以下内容:
Name: 随意指定,这个Name是以后出现在pycharm“外部工具”中的名称,确保自己能认识即可(我写的是qt designer)
Description: 随意指定,作用同上(我写的是GUI design)
Program: 上面提到的designer.exe路径
Working directory:如图
至此qt designer就配置好了,可以在主菜单栏的tool->external tools中找到刚刚配置好的pyqt designer。试着打开看看。
弹出如下界面,即配置成功
配置QtGUI的配置方法
QtGUI的主要作用是将QT的.ui文件转换成python的.py文件。
配置过程和Qt Designer类似,直接上图
打开pycharm, 然后file->setting->Tools->External Tools
填写以下内容:
Name: 自己指定
Description:自己制定
Program: 需要找到自己装的python.exe文件位置。
Parameters: -m PyQt5.uic.pyuic
-o
.py
working directory:如图
至此,QtGUI配置完毕
功能测试
成功完成上述步骤之后可以尝试能否实现想要的功能:即自己设计一个UI界面,并运行代码使其成功出现;编辑UI界面的后台逻辑关系,使其按照自己设定的功能运行。
1 打开pycharm->Tools->External tools->调出qt designer编辑你的UI界面
进入qt designer之后你回遇到一个这样的界面,这表示你需要创建的界面类型,请记住自己所选的类型,对于后面程序编写很重要。
例如选择Main Window框架,点击create创建,从1框中拖拽组件进入面板,命名调整位置及大小,如图所示。(命名为calculator)
随便拖了几个控件,如图
2 保存成.UI格式文件,使用pyGUI将其转换成,py文件
点击保存,如果在打开pycharm时已经创建了项目,则自动保存在该项目 之下,如果未创建项目则自定义储存路径,保存好.ui文件之后,返回pycharm界面会发现已经生成calculator.ui文件
3 .ui文件转.py文件
右键该文件,选择external tools 使用之前配置好的pyGUI将其转换问.py文件,此时目录下会出现calculator.py文件,可以用pycharm打开
测试,成功弹出你刚刚设计的界面
在代码段末尾添加如下代码:
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
如果在Qt Designer中创建窗口时使用的时Widget框架,则使用下面的代码
if __name__=="__main__":
import sys
app=QtWidgets.QApplication(sys.argv)
widget=QtWidgets.QWidget()
ui=Ui_form()
ui.setupUi(widget)
widget.show()
sys.exit(app.exec_())
点击run,弹出刚才乱画的界面