PyQt5信號與槽關聯的兩種方式


通過QtDesigner

  1. 單擊菜單欄切換到信號槽編輯模式

  2. 單擊控件並拖動鼠標到信號的接收對象上,一般為對話框自己,松開鼠標彈出信號和槽選擇框

  3. 選中clicked()信號

  4. 點擊右邊Edit彈出信號槽編輯框

  5. 添加一個槽函數,特別注意槽函數名字后面一定要帶“()”。

然后保存到當前工程目錄下,命名為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_())


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM