import sysfrom PyQt5 import QtWidgetsfrom PyQt5.QtWidgets import QMainWindowfrom test import Ui_MainWindowfrom PyQt5.QtWidgets import QFileDialogclass MyPyQT_Form(QMainWindow, Ui_MainWindow): def __init__(self): super(MyPyQT_Form, self).__init__() self.setupUi(self) # 實現pushButton_click()函數,textEdit是我們放上去的文本框的id def pushButton_click(self): #self.showText.setText("你點擊了按鈕") dir_path = QFileDialog.getExistingDirectory(self, "choose directory", r"C:/Users/Administrator/Desktop") self.showText.setText(dir_path)if __name__ == '__main__': app = QtWidgets.QApplication(sys.argv) my_pyqt_form = MyPyQT_Form() my_pyqt_form.show() sys.exit(app.exec_())一、使用QT Desinger設計程序主界面
2.1 設計界面
在PyCharm中創建一個項目,然后點擊“Tools”--“External Tools”--“QTDesinger”打開QT Desinger


然后向Form中拖入一個“Push Button”和一個“Text Edit”

2.2 指定點擊事件及其響應函數
在工具欄點擊信號-槽編緝按鈕----光標移動到“PushButton”按鈕上----鼠標左鍵點擊“PushButton”不要松開--拖動光標到Form的任一位置后再松開鼠標左鍵

經過上邊的操作就出現了如下界面,“pushButton”側選中“click()”,“Form”側點擊“Edit”

在上邊“Slots”點擊綠色“+”按鈕,指定click事件的響應函數,名稱隨意定比如我這里命名為“pushButton_click()”
(我們這里只是指定事件與響應函數的關聯關系,函數是還沒實現的,后邊我們自行實現)


這樣界面設計和事件關聯就完成了,我們下來選擇保存,將文件保存到項目的根目錄下

二、使用PyUIC將文件轉成python代碼
關閉QT Designer回到PyCharm,查看項目,可以看到只有剛才保存的PyQT_Form.ui文件而且該文件在PyCharm是打不開的
我們需要將這個文件轉成.py代碼才能使用

選中“PyQT_Form”,在其上點擊鼠標右鍵,到“External Tools”中點擊“PyUIC”

完后再看項目文件,就可以看到多了一個“PyQT_Form.py”,雙擊查看其內容如下:

三、實現程序
應該來說我們只要在上邊的“PyQT_Form.py”中,將需要的包導入---添加pushButton_click()函數實現代碼----實例化Ui_Form類,實現這三步程序應該就差不多了
但是PyQT_Form.py是PyUIC文件按照“PyQT_Form.ui”生成的,如果我們需要去調整PyQT_Form.ui(比如調整按鈕位置調整文本框大小,后續調整界面在實際編程中基本是必然需求)
調整完后重新生成PyQT_Form.py時,PyUIC可不會管當前我們已經在PyQT_Form.py中寫了什么代碼,舊PyQT_Form.py會直接被新PyQT_Form.py覆蓋
也就是說,所有邏輯代碼我們都不應當寫入PyQT_Form.py文件(或者叫不要動PyQT_Form.py文件),我們新建一個文件在里邊創建一個子類(MyPyQT_Form)繼承PyQT_Form.py中的Ui_Form
3.1 實現代碼
在項目中新建一個.py文件
3.2 運行演示
右鍵選擇運行

運行界面如下

總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答