国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Python如何實(shí)現按鈕的響應事件

發(fā)布時(shí)間:2021-08-26 11:14 來(lái)源:億速云 閱讀:0 作者:小新 欄目: 開(kāi)發(fā)技術(shù)

這篇文章主要介紹Python如何實(shí)現按鈕的響應事件,文中介紹的非常詳細,具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

import sys
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QMainWindow
from test import Ui_MainWindow
from PyQt5.QtWidgets import QFileDialog
class MyPyQT_Form(QMainWindow, Ui_MainWindow):
  def __init__(self):
    super(MyPyQT_Form, self).__init__()
    self.setupUi(self)
  # 實(shí)現pushButton_click()函數,textEdit是我們放上去的文本框的id
  def pushButton_click(self):
    #self.showText.setText("你點(diǎn)擊了按鈕")
    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中創(chuàng )建一個(gè)項目,然后點(diǎn)擊“Tools”--“External Tools”--“QTDesinger”打開(kāi)QT Desinger

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

2.2 指定點(diǎn)擊事件及其響應函數

在工具欄點(diǎn)擊信號-槽編緝按鈕----光標移動(dòng)到“PushButton”按鈕上----鼠標左鍵點(diǎn)擊“PushButton”不要松開(kāi)--拖動(dòng)光標到Form的任一位置后再松開(kāi)鼠標左鍵

經(jīng)過(guò)上邊的操作就出現了如下界面,“pushButton”側選中“click()”,“Form”側點(diǎn)擊“Edit

在上邊“Slots”點(diǎn)擊綠色“+”按鈕,指定click事件的響應函數,名稱(chēng)隨意定比如我這里命名為“pushButton_click()

(我們這里只是指定事件與響應函數的關(guān)聯(lián)關(guān)系,函數是還沒(méi)實(shí)現的,后邊我們自行實(shí)現)

這樣界面設計和事件關(guān)聯(lián)就完成了,我們下來(lái)選擇保存,將文件保存到項目的根目錄下

二、使用PyUIC將文件轉成python代碼

關(guān)閉QT Designer回到PyCharm,查看項目,可以看到只有剛才保存的PyQT_Form.ui文件而且該文件在PyCharm是打不開(kāi)的

我們需要將這個(gè)文件轉成.py代碼才能使用

選中“PyQT_Form”,在其上點(diǎn)擊鼠標右鍵,到“External Tools”中點(diǎn)擊“PyUIC

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

三、實(shí)現程序

應該來(lái)說(shuō)我們只要在上邊的“PyQT_Form.py”中,將需要的包導入---添加pushButton_click()函數實(shí)現代碼----實(shí)例化Ui_Form類(lèi),實(shí)現這三步程序應該就差不多了

但是PyQT_Form.py是PyUIC文件按照“PyQT_Form.ui”生成的,如果我們需要去調整PyQT_Form.ui(比如調整按鈕位置調整文本框大小,后續調整界面在實(shí)際編程中基本是必然需求)

調整完后重新生成PyQT_Form.py時(shí),PyUIC可不會(huì )管當前我們已經(jīng)在PyQT_Form.py中寫(xiě)了什么代碼,舊PyQT_Form.py會(huì )直接被新PyQT_Form.py覆蓋

也就是說(shuō),所有邏輯代碼我們都不應當寫(xiě)入PyQT_Form.py文件(或者叫不要動(dòng)PyQT_Form.py文件),我們新建一個(gè)文件在里邊創(chuàng )建一個(gè)子類(lèi)(MyPyQT_Form)繼承PyQT_Form.py中的Ui_Form

3.1 實(shí)現代碼

在項目中新建一個(gè).py文件

3.2 運行演示

右鍵選擇運行

運行界面如下

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

18禁美女裸身无遮挡免费网站| 亚洲欧洲日产国码无码AV一| 国内精品伊人久久久久AV一坑| 久久久一本精品99久久精品66直播| 扒开双腿猛进入在线观看| 国产高清不卡一区二区|