中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Pyqt5界面的基本寫法和基礎的類封裝代碼

發布時間:2021-09-04 09:26:13 來源:億速云 閱讀:309 作者:chen 欄目:大數據

本篇內容介紹了“Pyqt5界面的基本寫法和基礎的類封裝代碼”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、Pyqt5界面基本寫法

目標效果

點擊按鈕,出現消息選擇框,處理消息選擇框的點擊結果

Pyqt5界面的基本寫法和基礎的類封裝代碼

效果圖

二、基礎的類封裝代碼

import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QMessageBox,QPushButtonclass MyClass(QWidget):   def __init__(self):     super().__init__()     self.initUI()   def initUI(self):     self.setGeometry(300,200,400,300)     self.setWindowTitle("劉金玉編程")     btn=QPushButton("關閉窗體",self)     btn.move(50,50)     self.show()if __name__=="__main__":  app=QApplication(sys.argv)  mc=MyClass()  app.exec_()

三、消息盒子

我們開始使用類庫QMessageBox

看看常見的不同的圖標的消息類別:

    帶有圖標的消息盒子,圖標可以是問號question,信息information,警告warning

注意:使用消息盒子后,最后會返回一個按鈕類型的結果,這個結果也是我們人機交互的結果。

四、重寫事件

重寫關閉事件考慮思路:
當點擊關閉按鈕的時候,執行的是窗體的關閉,而窗體的關閉等同于點擊窗體右上角的關閉X的自帶窗體按鈕的效果,這個效果是Qwidget基類所實現的。
提問:  我們該如何實現我們自己需要的關閉時候的效果呢?
  • 重寫父類方法。

  • 重寫關閉事件的方法。

QMessageBox使用格式

具體問號使用格式:

QMessageBox.question(self,消息標題,消息內容,消息的按鈕類型,首次打開后默認選中哪個按鈕)

使用舉例:

QMessageBox.question(self,"老劉提示您:","您真的要關閉窗體嗎?",QMessageBox.Yes|QMessageBox.No,QMessageBox.No)

如何阻止事件的關閉呢?

利用傳過來的事件對象

我們通過輸出的形式,看到事件對象的屬性和方法,猜測到具體的調用方法。

event.accept()同意關閉

event.ignore()忽律操作

if result==QMessageBox.Yes:

            event.accept()

else:

            event.ignore()

            QMessageBox.information(self,"消息","謝謝!")

五、總結強調

1.掌握的類的封裝基本代碼

2.掌握類的事件重寫

3.掌握的事件對象的應用

本節知識源代碼:

import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QMessageBox,QPushButton
class MyClass(QWidget):    def __init__(self):        super().__init__()        self.initUI()
   def initUI(self):        self.setGeometry(300,200,400,300)        self.setWindowTitle("劉金玉編程")        btn=QPushButton("關閉窗體",self)        btn.move(50,50)        btn.clicked.connect(self.close)        self.show()
   def closeEvent(self, event):        print("老劉關閉的操作")        result=QMessageBox.question(self,"老劉提示您:","您真的要關閉窗體嗎?",QMessageBox.Yes|QMessageBox.No,QMessageBox.No)        if result==QMessageBox.Yes:            event.accept()        else:            event.ignore()            QMessageBox.information(self,"消息","謝謝!")

if __name__=="__main__":    app=QApplication(sys.argv)    mc=MyClass()    app.exec_()

“Pyqt5界面的基本寫法和基礎的類封裝代碼”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黄平县| 精河县| 沙田区| 鄄城县| 芜湖县| 余姚市| 银川市| 德令哈市| 元朗区| 鄱阳县| 岑巩县| 许昌市| 图木舒克市| 大洼县| 桃源县| 保定市| 新化县| 红安县| 湛江市| 大渡口区| 仲巴县| 博乐市| 宣汉县| 防城港市| 浦县| 章丘市| 上杭县| 遂昌县| 宁城县| 宁强县| 黄山市| 土默特左旗| 承德市| 鲁甸县| 阿拉善右旗| 来安县| 莱西市| 马山县| 乐亭县| 怀化市| 保靖县|