信号 和 槽 是Qt的核心内容
信号(signal)
其实就是事件(按钮点击、内容发生改变、窗口的关闭事件)或者是状态(check选中了、togglebutton切换),当程序触发了某种状态或者发生了某件事情(比如:按钮被点击了、内容改变等),那么即可发射出一个 信号(signal)
槽(slot)
若想捕获这个信号,然后执行相应的逻辑代码,那么就需要使用到 槽 ,槽 实际上是一个函数,当 信号 发射出来后,会执行与之绑定的 槽 函数
将信号与槽链接
为了能够实现,当点击某个按钮执行某个逻辑,需要把具体的 信号 和具体的 槽 函数绑定到一起,操作流程如下

语法规则:
对象.信号.connect(槽函数)
案例1
# -*- coding = utf-8 -*-
# @Time : 2022/9/6 10:28
# @Author : Arthur
# @FileName : 信号与槽之接收信号.py
# @Software : Pycharm
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
class my_window(QWidget):
def __init__(self):
super(my_window, self).__init__()
self.init_ui()
def init_ui(self):
# 更改当前widget的宽高
self.resize(500, 300)
# 创建一个按钮
btn = QPushButton('点我点我', self)
btn.setGeometry(200, 200, 100, 30)
btn.clicked.connect(self.click_my_btn)
def click_my_btn(self, arg):
print('这个傻逼点击按钮啦!', arg)
if __name__ == '__main__':
app = QApplication(sys.argv)
w = my_window()
w.show()
app.exec_()
原创文章,作者:朋远方,如若转载,请注明出处:https://caovan.com/pyqt5changyongcaozuozhixinhaoyucao/.html


微信扫一扫