先看一个实例:
import sys
from PyQt5.QtWidgets import QWidget,QApplication,QMainWindow
from PyQt5.QtCore import pyqtSignal
from Main import Ui_MainWindow
class MainWnd(QMainWindow,Ui_MainWindow):
# 定义一个带有字符串类型的信号
sendStr = pyqtSignal(str)
def __init__(self,parent = None):
super().__init__(parent)
self.setupUi(self)
#内置的信号槽连接
self.pushButtonCancle.clicked.connect(self.close)
#自定义的信号槽连接
self.sendStr.connect(self.setLabelText)
#关联按钮pushButtonOK点击发送的信号
def on_pushButtonOK_clicked(self):
#自定义信号发送
self.label.setText("好好学习,天天向上")
def on_pushButtonSend_clicked(self):
self.sendStr.emit("发射信号")
#任何一个函数都可以作为槽函数,这个就是槽函数
def setLabelText(self,str):
self.label.setText(str)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWnd = MainWnd()
mainWnd.show()
sys.exit(app.exec_())
aaa