先看一個實例:
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