- PyQt编程快速上手
- 任路顺
- 215字
- 2023-06-21 18:36:03
1.4.3 一个信号连接多个槽
一个信号可以连接多个槽函数,也就是信号只用发射一次,就可以调用多个槽函数。示例代码1-16是在示例代码1-13的基础上修改得到的,该示例代码将按钮的clicked信号与两个槽函数进行了连接。
示例代码1-16
import sys
from PyQt5.QtWidgets import *
class Window(QWidget):
def __init__(self):
super(Window, self).__init__()
self.btn = QPushButton('Start', self)
self.btn.clicked.connect(self.change_text) #注释1开始
self.btn.clicked.connect(self.change_size) #注释1结束
def change_text(self):
if self.btn.text() == 'Start':
self.btn.setText('Stop')
else:
self.btn.setText('Start')
def change_size(self): # 2
self.btn.resize(150, 30)
if __name__ == '__main__':
app = QApplication([])
window = Window()
window.show()
sys.exit(app.exec())
运行结果如图1-26所示。
图1-26 一个信号连接两个槽函数
代码解释:
#1 clicked信号连接了change_text()槽函数和change_size()槽函数。
#2 change_size()槽函数用于改变按钮的尺寸。