通過QtDesigner
-
單擊菜單欄切換到信號槽編輯模式
-
單擊控件並拖動鼠標到信號的接收對象上,一般為對話框自己,松開鼠標彈出信號和槽選擇框
-
選中clicked()信號
-
點擊右邊Edit彈出信號槽編輯框
-
添加一個槽函數,特別注意槽函數名字后面一定要帶“()”。

然后保存到當前工程目錄下,命名為hello.ui,在PyCharm中右鍵選中hello.ui,External Tools>>PyUIC,生成hello.py。在生成的hello.py中有這么一句代碼:
# 關聯該對話框類的Open函數
self.sayHello.clicked.connect(MainWindow.Open)
# 顯然當前MainWindow沒有Open函數,所以必須為其添加一個Open函數
新建main.py,添加如下代碼:
import sys
import hello # 導入ui
from PyQt5.QtWidgets import QApplication, QMainWindow
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
def Open(self):
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = hello.Ui_MainWindow()
# 創建一個QMainWindow的子類對象
mainWnd = MyWindow()
# 把mainWnd賦值給MainWindow,這樣MainWindow就有了Open函數
ui.setupUi(mainWnd)
# 顯示該ui界面
mainWnd.show()
sys.exit(app.exec_())
手動關聯的方式
import sys
import hello # 導入ui
from PyQt5.QtWidgets import QApplication, QMainWindow
def Open(self):
pass
if __name__ == '__main__':
app = QApplication(sys.argv)
ui = hello.Ui_MainWindow()
# 創建一個QMainWindow對象
mainWnd = QMainWindow()
# 把mainWnd賦值給MainWindow
ui.setupUi(mainWnd)
# 手動關聯自定義的槽函數
ui.sayHello.clicked.connect(Open)
# 顯示該ui界面
mainWnd.show()
sys.exit(app.exec_())