PyQt5信号与槽基本操作:从Qt Designer到代码实现

凌晨两点半
凌晨两点半
发布时间:2026-10-13 | 2人浏览过
原创

本文详细介绍PyQt5中信号与槽的基本操作流程。通过Qt Designer可视化界面,演示如何为按钮控件绑定clicked()信号,并连接系统预定义槽如hide()、show()和clear()。同时深入讲解如何创建自定义槽函数,包括在.ui文件中定义槽名、转换.py文件后在代码中实现具体逻辑,以及最终运行主函数的完整步骤。

信号与槽基本操作

首先启动Qt Designer,在界面中添加所需的控件,本文以按钮控件为例进行说明。

按下F4键进入信号/槽编辑模式后,选中需要绑定信号与槽的按钮,此时按钮边框会变为红色。按住鼠标左键并拖动,拉出一条红色连线。若需控制旁边的Label控件,则将红线连接至该Label上(见图1);若需对主窗口(MainWindow)进行操作,则将链接指向主窗口,此时会出现类似物理电路中“接地”的符号(见图2)。

图1

图2

完成连线后,系统会弹出配置窗口(见图3)。在左侧列表中可以选择具体的信号,例如图中选择的“clicked()”,表示点击按钮时触发右侧对应的槽函数操作。

勾选下方的“show signals。。。。”选项后,右侧列表将显示系统中已定义好的槽函数,例如“clear()”代表清空内容,“close()”代表关闭窗口。

如果不勾选“show signals。。。。”选项,则需要手动创建自定义槽函数。需要注意的是,只有当连接对象为主窗口(MainWindow)时,才允许自定义槽函数。

图3

自定义槽

若不勾选“show signals。。。。”,则会弹出如图4所示的界面(右侧区域显示自定义槽,若未预先定义则可能为空)。点击右下角的“Edit”按钮,将弹出如图5所示的配置窗口。

图4

图5

点击加号图标,修改自定义槽的名称(例如图中设置为trainBtn()),然后点击确定返回图4界面。此时右侧列表中会出现已添加的自定义槽。在图4中确认信号与槽的对应关系后,点击确定即可完成该按钮信号与槽的绑定,即定义了点击按钮后的具体行为。

本文构建了一个简单的测试界面,效果如图6和图7所示:

通过隐藏与显示控制左侧的“label”控件,对应的槽函数分别为“hide()”和“show()”。

通过显示文字与清除文字控制左侧的“textBrowser”控件,其中清除文字按钮绑定的槽为“clear()”,而显示文字功能则通过自定义槽实现。相关代码将在后续添加自定义槽功能的环节中详细阐述。

图6

图7

添加自定义槽的功能:

首先保存Qt Designer设计的文件。切换回PyCharm界面,在文件列表中可以看到刚才设计的“.ui”文件(见图8)。将“.ui”文件转换为“.py”文件(参考文章开头的博客教程),并在生成的“.py”文件(文件名与.ui文件相同)中添加自定义槽的代码。

图8

找到生成按钮代码的部分,如图9所示。按照图中指示,将括号内的内容修改为:self.自定义槽的名字。

图9

在该类的末尾增加自定义函数,如图10所示,实现的功能为:在textBrowser控件中输出“hi,PyQt5”。

图10

在代码的最后部分加入主函数,以便运行程序,代码结构如图11所示:

图11

至此,本文主要介绍了Python GUI库图形界面开发中PyQt5信号与槽的基本操作。如果文中存在错误,欢迎指出。更多关于这方面的内容请查看下面的相关链接。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表