python槽函数 python 槽函数

python线程间通信的问题,回答有加分!300pyqtpython槽函数的线程之间python槽函数的通信是通过信号to槽来实现的python槽函数,首先python槽函数你在线程类里面声明一个全局槽比如:
class imThread(QtCore.QThread):
imslot = QtCore.pyqtSignal()
这里是要重点注意,上面的是没有任何参数的一个信号,如果你需要参数的话,你可以在里面添加参数类型,例如:
imslot1 = QtCore.pyqtSignal(str)#这是一个带字符串参数的信号
imslot2 = QtCore.pyqtSignal(int)#这是一个带整型参数的信号
imslot3 = QtCore.pyqtSignal(bool)#这是一个带布尔参数的信号
当然了,如果你需要多个参数的话 , 同样地往里面加就是了,qt也没有要求参数必须是同类型的,所以可以这样:
imslot1 = QtCore.pyqtSignal(str, int)#这是一个带整型和字符串的参数信号
imslot2 = QtCore.pyqtSignal(int, str, str)#这是一个带整型和两个字符串的参数信号
imslot3 = QtCore.pyqtSignal(bool, str) #这是一个带布尔和字符串的参数信号
在线程的run方法里面来定义执行信号:
self.imslot.emit()
这里也是需要重点注意的是,上面这个接口是没有参数的,如果你是要参数的话,是需要这样写:
self.imslot1[str].emit('hello')
self.imslot2[int].emit(1)
self.imslot3[bool].emit(False)
多参数的是这样
self.imslot1[str, int].emit('hello', 1)
self.imslot2[int, str, str].emit(1, "hello", "world")
self.imslot3[bool, str].emit(False, 'hello')
以上就是在线程类里面完成信号定义了,接下来就是逻辑层成定义一个函数槽来连接线程类里面的信号,这个也很简单 , 比如python槽函数我在主线程类里面定义一个方法:
def imSlot():
print 'ok'
【python槽函数 python 槽函数】以上这个是槽函数,接下来是实现信号槽的连接
imThread.imslot.connect('imSlot')
这个就是信号槽的连接方式,当然了 , 这个是没有参数的一个信号槽,那么带参数的怎么写呢?也很简单!首先定义一个槽函数:
def imSlot(para):
print para
这个是带参数的槽函数,下面是:
imThread.imslot[str].connect('imSlot')
以上就是线程之间的方法了,子线程在执行的通行经过执行信号的话 , 子线程可以安全地执行而不会出现GUI主线程卡死的情况了 。
python pyqt5 自定义信号和槽 """
【简介】
内置信号槽示例
"""
from PyQt5.QtCore import QObject, pyqtSignal
class QTypeSignal(QObject):
# 定义一个信号
sendmsg = pyqtSignal(object)
class QTypeSlot(QObject):
definit (self):
super(QTypeSlot, self). init ()
ifname== ' main ':
send = QTypeSignal()
slot = QTypeSlot()
# 1
print('--- 把信号绑定到槽函数 ---')
send.sendmsg.connect(slot.get)
send.run()
from PyQt5.QtCore import QObject , pyqtSignal
class QTypeSignal(QObject):
#定义一个信号
sendmsg = pyqtSignal( str,str)
class QTypeSlot(QObject):
definit ( self):
super( QTypeSlot, self). init ()
ifname== ' main ':
send = QTypeSignal()
slot = QTypeSlot()
PYQT设计完成,如何用python检测事件?答: 可以将事件连接到槽函数,然后在槽函数里面设置相关内容 。这样的话每次事件触发时,槽函数里面的内容就可以执行 , 根据内容也就可以判断知道哪个事件被触发了 。信号绑定槽函数的方法有如下所示 。
就比如说你要捕获按钮的点击事件(clicked),当按钮(定义为btn)被点击后,我们调用一个on_click函数(这是我们自己定义的),那么最后的代码就是这样btn.clicked.connect(on_click),就可以把按钮的点击事件与槽函数相连 。
关于python槽函数和python 槽函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读