from PyQt5.Qt import *
import sys
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("信号和槽")
self.resize(600, 500)
self.func_list()
def func_list(self):
self.func()
self.on_btn_clicked()
def func(self):
btn = QPushButton('按钮', self)
btn.setObjectName('btn')
btn.resize(80, 50)
btn.move(100, 100)
btn2 = QPushButton('按钮', self)
btn2.setObjectName('btn2')
btn2.resize(80, 50)
btn2.move(100, 200)
# 表示把window对象中的子对象按照objectName链接到相关的槽函数上,必须放在所有子对象的最后
QMetaObject.connectSlotsByName(self)
@pyqtSlot(bool)
def on_btn_clicked(self):
print('点击按钮')
# 上面的代码转换
# self.btn.clicked[bool].connect(self.btn_clicked)
# def btn_clicked(self):
# print('点击按钮')
if __name__ == '__main__':
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())