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

溫馨提示×

溫馨提示×

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

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

PyQt5如何使用QMessageBox顯示不同的對話框

發布時間:2023-01-17 10:08:07 來源:億速云 閱讀:138 作者:iii 欄目:開發技術

這篇“PyQt5如何使用QMessageBox顯示不同的對話框”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“PyQt5如何使用QMessageBox顯示不同的對話框”文章吧。

使用QMessageBox顯示不同的對話框

QMessageBox是通用的消息對話框,包括如下多種形式,不同的對話框有不同的圖標和按鈕,還可以根據自己需要微調樣式。

# _*_ coding:utf-8 _*_
 
import sys
 
from PyQt6.QtWidgets import QWidget
from PyQt6.QtWidgets import QApplication
from PyQt6.QtWidgets import QMainWindow
from PyQt6.QtWidgets import QVBoxLayout
from PyQt6.QtWidgets import QPushButton
from PyQt6.QtWidgets import QMessageBox
from PyQt6.QtGui import QIcon
from PyQt6.QtCore import Qt
 
 
class DemoQMessageBox(QMainWindow):
    """主窗體界面"""
 
    def __init__(self):
        """構造函數"""
        super().__init__()
 
        self.setWindowTitle("MainWindow")
        self.setWindowIcon(QIcon(r"./res/20 (3).ico"))
        self.resize(300, 200)
        self.setMinimumSize(600, 400)
 
        self.center()
        self.initui()
 
    def initui(self):
        """初始函數"""
 
        self.vboxlayout = QVBoxLayout(self)
        self.vboxlayout.setAlignment(Qt.AlignmentFlag.AlignCenter)
        self.main_widget = QWidget()
        self.main_widget.setLayout(self.vboxlayout)
        self.setCentralWidget(self.main_widget)
 
        btns = ["關于對話框", "錯誤對話框", "警告對話框", "提問對話框", "消息對話框",]
 
        for btnname in btns:
            """添加button"""
            btn = QPushButton(btnname)
            self.vboxlayout.addWidget(btn)
            btn.clicked.connect(self.show_dialog)
 
    def center(self):
        """居中顯示"""
        win_rect = self.frameGeometry()  # 獲取窗口矩形
        screen_center = self.screen().availableGeometry().center()  # 屏幕中心
        win_rect.moveCenter(screen_center)      # 移動窗口矩形到屏幕中心
        self.move(win_rect.center())         # 移動窗口與窗口矩形重合
 
    def show_dialog(self):
        if type(self.sender()) is QPushButton:
            btn_text = self.sender().text()
            if btn_text == "關于對話框":
                QMessageBox.about(self, "關于", "這是關與對話框")
            elif btn_text == "錯誤對話框":
                QMessageBox.critical(self,"錯誤","程序發生了錯誤!",QMessageBox.StandardButton.Ignore | QMessageBox.StandardButton.Abort | QMessageBox.StandardButton.Retry,QMessageBox.StandardButton.Retry)
            elif btn_text == "警告對話框":
                QMessageBox.warning(
                    self, "警告", "余量不足。", QMessageBox.StandardButton.Ok, QMessageBox.StandardButton.Ok)
            elif btn_text == "提問對話框":
                QMessageBox.question(self, "提問", "是否取消" ,QMessageBox.StandardButton.Yes | QMessageBox.StandardButton.No,QMessageBox.StandardButton.Yes)
            elif btn_text == "消息對話框":
                QMessageBox.information(
                    self, "消息", "這是通知消息", QMessageBox.StandardButton.Ok, QMessageBox.StandardButton.Ok)
 
 
if __name__ == "__main__":
    app = QApplication(sys.argv)
    view = DemoQMessageBox()
    view.show()
    sys.exit(app.exec())

結果:

PyQt5如何使用QMessageBox顯示不同的對話框

點擊不同按鈕,顯示不同的消息窗口:

關于對話框:

PyQt5如何使用QMessageBox顯示不同的對話框

錯誤對話框:

PyQt5如何使用QMessageBox顯示不同的對話框

警告對話框:

PyQt5如何使用QMessageBox顯示不同的對話框

提問對話框:

PyQt5如何使用QMessageBox顯示不同的對話框

消息對話框:

PyQt5如何使用QMessageBox顯示不同的對話框

以上就是關于“PyQt5如何使用QMessageBox顯示不同的對話框”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

信阳市| 防城港市| 德清县| 吉木萨尔县| 山西省| 绥化市| 丽水市| 苏州市| 黄山市| 扎鲁特旗| 河北省| 怀集县| 定远县| 惠水县| 十堰市| 交口县| 澄江县| 抚顺县| 永顺县| 大名县| 确山县| 泸水县| 榆社县| 东阿县| 德阳市| 洛隆县| 浑源县| 东台市| 泰安市| 长丰县| 嘉善县| 卢湾区| 抚州市| 辽阳市| 饶阳县| 邯郸市| 陇西县| 绵竹市| 凤阳县| 镇沅| 桂东县|