# a信号与b信号连接
# 使得一个信号是间接触发槽函数,
# #另一个信号仍然是直接触发槽函数,
# #这里增加了信号与信号之间的联系以及先后顺序的问题,以及传递关系
# 多个信号都与一个槽函数连接
class Demo(QWidget):
def __init__(self):
super(Demo,self).__init__()
self.label = QLabel('label')
self.btn = QPushButton('button')
# 连接函数,这里有两个信号
self.btn.pressed.connect(self.btn.released) # 注意注意这里~~~
self.btn.released.connect(self.ChangeText)
self.v_layout = QVBoxLayout()
self.v_layout.addWidget(self.label)
self.v_layout.addWidget(self.btn)
self.setLayout(self.v_layout)
self.count = 0
# 定义槽函数
def ChangeText(self):
self.count = self.count + 1
if self.count % 2 == 1: # pressed
self.label.setText('haha, i have pressed this button')
else: # released
self.label.setText('xixi, i have released this button')
print('I have clicked this button for :', self.count/2)
a信号连接b信号,b信号连接槽函数
最新推荐文章于 2024-09-20 21:48:23 发布