PyCharm+QTDesigner+PyUIC+PyRCC使用教程

PyCharm+QTDesigner+PyUIC+PyRCC使用教程

我们在PyCharm安装配置Qt Designer+PyUIC+PyRCC教程中已配置好了环境

这里在此基上我们演示如何使用这些工具,编写一个图形界面程序:

程序主界面上有一个按钮和一个编缉框,点击按钮就在编缉框中显示“你点击了按钮”

QTDesigner

1.1 设计界面

在PyCharm中创建一个项目,然后点击“Tools”–“External Tools”–“QTDesinger”打开QT Desinger
在这里插入图片描述
在这里插入图片描述
然后向Form中拖入一个“Push Button”和一个“Text Edit”
在这里插入图片描述

2.2 指定点击事件及其响应函数

在工具栏点击信号-槽编缉按钮----光标移动到“PushButton”按钮上----鼠标左键点击“PushButton”不要松开–拖动光标到Form的任一位置后再松开鼠标左键
在这里插入图片描述

经过上边的操作就出现了如下界面,“pushButton”侧选中“click()”,“Form”侧点击“Edit”
在这里插入图片描述

在上边“Slots”点击绿色“+”按钮,指定click事件的响应函数,名称随意定比如我这里命名为“pushButton_click()”

(我们这里只是指定事件与响应函数的关联关系,函数是还没实现的,后边我们自行实现)
在这里插入图片描述
在这里插入图片描述

这样界面设计和事件关联就完成了,我们下来选择保存,将文件保存到项目的根目录下
在这里插入图片描述

PyUIC

二、使用PyUIC将文件转成python代码

关闭QT Designer回到PyCharm,查看项目,可以看到只有刚才保存的PyQT_Form.ui文件而且该文件在PyCharm是打不开的

我们需要将这个文件转成.py代码才能使用
在这里插入图片描述

选中“PyQT_Form”,在其上点击鼠标右键,到“External Tools”中点击“PyUIC”
在这里插入图片描述

完后再看项目文件,就可以看到多了一个“PyQT_Form.py”,双击查看其内容如下:
在这里插入图片描述

三、实现程序

应该来说我们只要在上边的“PyQT_Form.py”中,将需要的包导入—添加pushButton_click()函数实现代码----实例化Ui_Form类,实现这三步程序应该就差不多了

但是PyQT_Form.py是PyUIC文件按照“PyQT_Form.ui”生成的,如果我们需要去调整PyQT_Form.ui(比如调整按钮位置调整文本框大小,后续调整界面在实际编程中基本是必然需求)

调整完后重新生成PyQT_Form.py时,PyUIC可不会管当前我们已经在PyQT_Form.py中写了什么代码,旧PyQT_Form.py会直接被新PyQT_Form.py覆盖

也就是说,所有逻辑代码我们都不应当写入PyQT_Form.py文件(或者叫不要动PyQT_Form.py文件),我们新建一个文件在里边创建一个子类(MyPyQT_Form)继承PyQT_Form.py中的Ui_Form

3.1 实现代码

在项目中新建一个.py文件,写入如下代码

import sys
from PyQt5 import QtWidgets
from PyQT_Form import Ui_Form

class MyPyQT_Form(QtWidgets.QWidget,Ui_Form):
    def __init__(self):
        super(MyPyQT_Form,self).__init__()
        self.setupUi(self)

    #实现pushButton_click()函数,textEdit是我们放上去的文本框的id
    def pushButton_click(self):
        self.textEdit.setText("你点击了按钮")


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    my_pyqt_form = MyPyQT_Form()
    my_pyqt_form.show()
    sys.exit(app.exec_())

3.2 运行演示

右键选择运行
在这里插入图片描述

运行界面如下
在这里插入图片描述

点击“PushButton”后界面如下
在这里插入图片描述

PyRcc

在软件界面左侧的控件选择栏中拖动两个“Label”控件到中间的设计框中,如下图所示:
在这里插入图片描述
如下图所示,点击“Resource Browser”下的铅笔图表,弹出新建qrc文件的编辑框。
在这里插入图片描述
如下图所示,点击新建(1号标注)按钮新建一个qrc文件,创建qrc文件后点击添加文件(2号标注),向qrc资源文件中添加两张图片,最后点击“OK”确定。
在这里插入图片描述
选中添加进来的label窗体,在右侧属性编辑栏中的“text”属性中“pixmap”一栏选择“Choose Resource”,如下图所示:
在这里插入图片描述
在资源选择框中选择刚刚添加进qrc的图片,点击确定,对另一个label也进行同样的操作,如下图所示:
在这里插入图片描述
最终完成后的界面如下图所示,点击菜单栏“File”下“Save”将该界面保存为ui文件并置于项目目录下。
在这里插入图片描述
在PyCharm中选中保存的qrc文件,使用“Tools”下的“External Tools”中的“PyRcc”工具将该资源文件转换为需要的py文件。
在这里插入图片描述
在PyCharm中打开使用“PyUIC”工具转换的py文件,在下面添加如下代码:

if __name__ == '__main__':
    import sys
    from PyQt5.QtWidgets import QApplication, QMainWindow
    import pics_ui_rc # 导入添加的资源(根据实际情况填写文件名)
    app = QApplication(sys.argv)
    MainWindow = QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

在PyCharm中点击运行该文件,最终运行界面如下所示:
在这里插入图片描述

原创链接:
https://www.cnblogs.com/lsdb/p/9122425.html
https://blog.youkuaiyun.com/qq_32892383/article/details/108867482?utm_source=app

### 如何在 PyCharm 和 PyQt5 的 QtDesigner 中实现代码同步 为了实现在 PyCharm 和 PyQt5 的 QtDesigner 之间的代码同步,可以按照以下方法操作: #### 配置环境 首先,在 PyCharm 中完成 PyQt5 及其相关工具的安装和配置。这一步可以通过 pip 安装 PyQt5 并确保 `pyuic5` 工具可用[^2]。 ```bash pip install pyqt5 ``` 接着验证 `pyuic5` 是否成功安装并可执行: ```bash pyuic5 -h ``` 如果命令返回帮助信息,则说明已正确安装该工具[^3]。 --- #### 使用 Qt Designer 创建 UI 文件 通过运行 Qt Designer 来创建 `.ui` 文件。此文件定义了图形化界面布局及其组件属性。保存设计后的 `.ui` 文件以便后续处理[^1]。 --- #### 转换 .ui 文件为 Python 代码 利用 `pyuic5` 将 `.ui` 文件转换成对应的 Python 代码。假设有一个名为 `example.ui` 的文件,可以在终端中输入如下命令将其转译为 `example_ui.py` 文件: ```bash pyuic5 example.ui -o example_ui.py ``` 这条指令会生成一个基于所设计界面的纯 Python 实现版本。 --- #### 加载动态更新机制 (推荐方式) 为了让开发流程更加高效,建议采用一种自动化的方案来保持 `.ui` 文件与其对应 Python 文件的一致性。例如编写简单的脚本或者借助第三方插件定期监控 `.ui` 文件的变化情况,并触发重新编译过程。 以下是手动加载 `.ui` 文件的一个简单例子,这种方法无需每次都单独调用 `pyuic5` 命令行工具即可达到实时效果: ```python from PyQt5 import uic, QtWidgets class UiLoader(QtWidgets.QMainWindow): def __init__(self): super(UiLoader, self).__init__() # 动态加载 ui 文件 uic.loadUi('example.ui', self) if __name__ == '__main__': import sys app = QtWidgets.QApplication(sys.argv) window = UiLoader() window.show() sys.exit(app.exec_()) ``` 上述代码片段展示了如何直接从 `.ui` 文件构建应用程序窗口而不需要提前预编译它成为独立模块的形式。 --- #### 设置 PyCharm 运行调试支持 最后调整好项目结构之后,在 PyCharm 当中的设置选项里确认已经添加了必要的解释器路径以及库依赖关系;同时也可以考虑定制快捷键绑定至某些常用功能上比如一键启动模拟器等提升工作效率的操作习惯养成。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值