装饰器信号模式需要在加载完UI界面最后写上这一句代码才可以。在QT设计师里会默认加上。
QMetaObject.connectSlotsByName(self)#把self的子孙对象按照子控件的Objectname连接信号
from PyQt5.Qt import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.resize(500,500)
self.setup_ui()
QMetaObject.connectSlotsByName(self)#把self的子孙对象按照子控件的Objectname连接信号
def setup_ui(self):
btn=QPushButton('CLICK',self)
btn.setObjectName('btn')
@pyqtSlot()
def on_btn_clicked(self):
print("按钮被点击了")