当前位置: 代码迷 >> 综合 >> python可视化编程(pyQT designer)安装及入门教程
  详细解决方案

python可视化编程(pyQT designer)安装及入门教程

热度:90   发布时间:2023-12-02 10:46:31.0

在使用python语言进行可视化编程时,qt designer可以实现拖拽完成可视化控件设计,使用十分方便。

安装pyQT5和QT Designer

 pip install pyqt5pip install pyqt5-tools

安装好之后在Python安装目录的\Lib\site-packages\pyqt5-tools\designer文件夹下面能够找到designer.exe,运行即可
因为我用的是anaconda,所以其路径为:D:\ProgramData\Anaconda3\Lib\site-packages\pyqt5_tools\Qt\bin\designer.exe
双击designer.exe即可进行界面设计了。

配置pyQT5

打开PyCharm,选择Settings -> Tools -> External Tools,点击左上角的加号。
在这里插入图片描述
如上图所示:

1. 添加了QtDesigner作为PyCharm的外置工具:

Name填入QtDesigner,Program选择我们上述路径下安装的designer.exe。Working directory则选择我们的工作目录。然后点击OK。

2. 添加PyUIC(UI转换工具)

PyUIC的Program为Python.exe,在Python的安装目录下面的Scripts目录下,Working directory同理设为我们的工作目录,Arguments则填入如下代码:

-m PyQt5.uic.pyuic  $FileName$ -o $FileNameWithoutExtension$.py
添加pyrcc用于PyQt5的资源文件转码

pyrcc的Program为Python.exe,在Python的安装目录下面的Scripts目录下,Working directory同理设为我们的工作目录,Arguments则填入如下代码:

$FileName$ -o $FileNameWithoutExtension$_rc.py
注意:

退出之前,需要 点击Apply保存配置。

按下图中可以查看配置情况。
在这里插入图片描述

使用QT Designer

双击打开designer.exe,选择基础模板,通常选择Main Windows和Widget。点击Create创建。
左侧为所有的界面控件,可以边学习边使用。
在这里插入图片描述
如下图,设计一个简单的界面:
在这里插入图片描述
其上述添加配置中的Working directory的路径下,会出现一个.ui文件。

将.ui文件转换为.py文件

在PyCharm中,找到.ui文件,右键 打开菜单找到External Tools->PyUIC。点击之后,我们在相应工程目录下会产生一个.py文件。(注意,.ui文件必须存放在我们的External Tools中设置的相应项目目录下)
在这里插入图片描述
转换完成之后,打开.py文件。
观察上述文件,可以看到如果不通过Qt Designer来制作界面的话,我们将会一次次地调试程序,来讲按钮和Label等放在合适的位置,这将是极其痛苦的过程。而通过Qt Designer,我们可以快速地制作UI,并生成Python的代码,从而实现快速地UI的开发。

让程序运行起来

然而,此时之间运行这个转换好的Python文件是无法显示任何窗口的。因为这个Python文件只有定义主窗口以及其控件的代码,并没有程序入口的代码。我们需要另外新建一个python文件,将下面的代码复制进去。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow
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_())

运行这个文件。即可弹出之前设计的可视化界面。

总结

上述是pyQT的基本是用流程,虽然不全面,但是基本步骤已具备,剩下的就需要在学习中不断提升自己的编程能力,设计出更加出色的软件。

  相关解决方案