建立什么网站,网站如何做触屏滑动,app软件开发流程,qq企业邮箱注册申请高手进阶之路—pyqt自定义信号
1.思考问题为什么要自定义信号#xff0c;qt5本身已有信号槽函数
# pushButton 被clicked的时候connect 函数print
self.pushButton.clicked.connect(self.print)def print(self):print(我被点击了)或者使用
# 需要引入 pyqtSlo…高手进阶之路—pyqt自定义信号
1.思考问题为什么要自定义信号qt5本身已有信号槽函数
# pushButton 被clicked的时候connect 函数print
self.pushButton.clicked.connect(self.print)def print(self):print(我被点击了)或者使用
# 需要引入 pyqtSlot 库函数
from PyQt5.QtCore import pyqtSlotpyqtSlot() #装饰器此函数没有connect直接通过装饰器初始化连接槽函数
# 使用此装饰器需要规定函数命名方式on_qt部件_clicked(self)
def on_pushButton_clicked(self):print(我点击了)看上去确实很简单但是我们在编写比较耗时的程序的时候就会发现我们点击了控件我们的UI界面卡死了直到主程序运行完成这是因为我们的主程序在运行我们的代码不能在去执行其他的操作导致的所以我们就要使用了多线程多线程就需要我们自定义信号和槽函数方法如下
from PyQt5.QtCore import pyqtSignal, QObjectclass Signal(QObject):# 实例化pyqtSignal声明一个信号signalsignal pyqtSignal(str) # 这里可以是strlistintdef __init__(self):super().__init__()def connect_signal(self):# 将信号连接到指定的槽函数call_signalself.signal.connect(self.call_signal)# 将信号断开连接到指定的槽函数call_signalself.signal.disconnect(self.call_signal)# 使用emit发射信号self.signal.emit(你好啊)def call_signal(self, msg):接收emit发送的数据的函数print(槽函数信息, msg)if __name__ __main__:ui Signal()ui.connect_signal()