您好,登錄后才能下訂單哦!
這篇“PyQt5如何使用QMessageBox顯示不同的對話框”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“PyQt5如何使用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顯示不同的對話框”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。