我
如圖所示,我們創建一個按鈕及一個瀏覽器。
什么是信號?比如按鈕的單擊,雙擊,按下,釋放等,都可以認為是一個信號
什么是槽? 對應的信號,做出什么應對,這要一個應對在一個函數中,我們可以認為這就是一個信號/槽關系
在Qt Designer中點擊工具欄(注意不是工具盒)中的這個圖標
點擊這個圖標后,就進入了編輯信號/槽的狀態,這個時候我們把鼠標放在放在組件上會有紅色選中狀態。
點擊拉向空白處,會出現上圖情況,這種情況是自定義槽,也可指向另一個控件倆着相關聯。
我們點擊編譯會出現槽/信號框,點擊添加按鈕,添加自定義的函數。
同時我們也可以在右下角的信號/槽編譯器處,編譯和修改
保存創建的UI,會在路徑下生成一個.ui的文件,
點擊PyUIC運行,會自動生成一個test_ui.py文件,打開此文件會發現
self.pushButton.clicked.connect(MainWindow.test_1)
這行代碼,這就是我們前面編譯的信號/槽在代碼中的體現,所有,我們也可以在代碼中自己編寫
編輯主文件
from PyQt5 import QtWidgets from test_ui import Ui_MainWidow class MyWindow(QtWidgets.QWidget,Ui_MainWindow): def __init__(self): super(MyWindow,self).__init__() self.setupUi(self) if __name__=="__main__": import sys app=QtWidgets.QApplication(sys.argv) myshow=Ui_MainWindow() myshow.show() sys.exit(app.exec_())
這時運行會報錯,因為我們每次寫槽函數也就是test_1。
def test_1(self): self.textBrowser.append("0")