由于毕设需要,之前假期中使用过QtDesigner,但是当时发现导出的结果和预览效果的比例有些不一样,当时决定自己写代码用绝对布局,但是这样对复杂的系统页面开发很不友好,因此现在决定再深入学习并尝试QtDesigner。参考博客https://www.jb51.net/article/170810.htm
一、安装配置
安装后,把QtDesigner链接到Pycharm的外部工具库。
击PyCharm的File->Settings->Tools->External tools打开外部工具界面,点‘+'号进入添加外部工具界面。在‘Name'处输入工具名称,这个名称可以随便取,只要自己清楚就行,我这里写的是Qt designer。然后,找到安装的designer.exe所在的路径。网上的说法一般designer.exe在python安装目录下的Lib\site-packages\pyqt5_tools文件夹里,但是我怎么都找不到,最后在C:\Users\Administrator\.conda\envs\WRIAS3.7\Lib\site-packages\qt5_applications\Qt\bin\designer.exe找到了。
将其路径复制到‘Programs'处,注意要包含designer.exe的文件名。Working directory处设置自己的工作路径,qtdesigner生成的ui文件会默认保存在该路径。‘Arguments'不用设置,确认即可。
PyUIC用于将qtdesigner生成的.ui文件转换.py文件。具体配置过程跟上面差不多,具体见参考博文。
二、测试学习
从pycharm的tools external tools打开Qt Designer,创建一个Mainwindow。添加控件后保存,这里另存为会自动存到刚才设置的文件夹。回到pycharm再点击外部工具中的pyuic,自动生成.py文件。
生成的py文件最好不要修改,我们自己再写一个文件,写一个类去调用它。
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
from designer.Ui_MainWindow import Ui_MainWindow
from mainWindow import *
class MyWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyWindow, self).__init__(parent)
self.setupUi(self)
if __name__ == '__main__':
app = QApplication(sys.argv)
myWin = MyWindow()
myWin.show()
sys.exit(app.exec_())