PyCharm+PyQt5+QtDesigner配置

关于
最近要在python下做可视化界面的设计,想到之前用QtDesigner来画界面很是方便,当时画完之后都要手动在终端输入 
pyuic5 -o 1.py 1.ui 
来把.ui文件转换为.py的代码再进行编辑,不是很方便,联想到要是能在PyCharm下完成所有工作就好了,所以就有了这篇博客,简单记录下,不够详细的地方请谅解。

配置前提
PyCharm (这个不多说,官网下载安装)
Anaconda 1.8.7(强烈安利,很好的python包管理平台,官网下载安装)
python 3.6.5 (其实装anaconda的时候会自动安装)
配置过程
1、首先打开anaconda,environment—>not installed搜索pyqt,会看到pyqt的包,直接勾选后右下角apply就安装好了。安完后可以切换到installed查看是否真正安装成功。 
2、安装完PyQt5之后,可以在anaconda—>Libra—>bin目录下看到designer.exe,这个就是用来画界面的QtDesigner,记住这个目录,一会儿会用到。 
 
3、打开PyCharm,打开File—>Settings—>External Tools,点击加号来添加自己的工具,做如下配置:

Name:QtDesigner 
Group:Qt 
Programs:F:\anaconda\Library\bin\designer.exe(这里是各位自己的designer路径,之前所看到的) 
Working directory:$ProjectFileDir$ 


完成后点“OK”,现在QtDesigner就配置好了,就可以直接在PyCharm中打开它来画界面了,但是要在PyCharm中把界面的.ui文件转换为.py文件还需要后面的配置。

4、同样在External Tools中点击加号来配置pyuic:

Name:Pyuic 
Group:Qt 
Program:F:\anaconda\python.exe(各位自己的python路径) 
Arguments:-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py 
Working directory:$FileDir$ 


5、至此就全部配置好了,接下来是test,回到PyCharm,Tools—>Qt—>QtDesigner,点击即可打开designer: 
 
然后创建一个最简单的界面,把这个界面保存(默认是保存在当前pycharm项目目录下,我这里命名“first.ui”)。 

6、回到pycharm,可以看到工程目录下已经产生了first.ui,右键它,Qt—>Pyuic,点击后即可产生first.py文件,OK接下来就可以愉快地写代码了

 

第二步:在文件末尾加上这一段代码:

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    widget = QtWidgets.QWidget()
    ui = Ui_MainWindow()
    ui.setupUi(widget)
    widget.show()
    sys.exit(app.exec_())

第三步 右键run就可以看到界面啦!

解释一下第二步的代码 
if __name__ == "__main__" 
用于判断是否直接运行了该.py文件。 
modul(模块),也就是.py文件。所有的模块都有一个内置属性__name__。如果 import 一个模块,那么模块__name__的值通常为模块文件名,不带路径或者文件扩展名。但如果直接运行一个模块,那么__name__的值是__main__

widget = QtWidgets.QWidget() 
因为Qt Designer默认继承的object类,不提供show()显示方法,所以我们生成一个QWidget对象来重载我们设计的Ui_MainWindow类,达到显示效果。

sys.exit(app.exec_()) 
app.exec_() ——运行app 
sys.exit(app.exec_())——消息循环结束之后返回0,接着调用sys.exit(0)退出程序

2.在别的文件中调用这个模块
注意这个和前面所讲的右键run就能显示界面的方式并不冲突,只是要在别的文件中调用这个模块。如果那三行代码不注释掉的话依旧会无法显示界面。

需要调用这个模块的文件写法:

import sys
from first import Ui_MainWindow  # 这里的first是.ui文件生成的.py文件名
from PyQt5 import QtWidgets

# 这个类继承界面UI类
class mywindow(QtWidgets.QWidget, Ui_MainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        self.setupUi(self)

#调用show
if __name__=="__main__":
    app=QtWidgets.QApplication(sys.argv)
    myshow=mywindow()
    myshow.show()
    sys.exit(app.exec_())

在这个文件中右键-run 界面也可以出现
 

你可能感兴趣的:(PyQt5,python3)