PyQt5 では、操作で何が問題だったかをユーザーに通知するためにポップアップ ウィンドウが必要になる場合があります。ここでは QMessageBox クラスが必要です。
QMseeageBox クラスは QDialog クラスを継承し、リマインダー、警告、エラー、その他の情報を表示したり、選択を確認したりするために使用され、これらの機能はいくつかのクラス関数によって実装されます。
QMessageBox クラス関数:
方法 | 説明する |
警告 | 警告メッセージダイアログボックス QMessageBox.warning(self,'タイトル','警告ボックス メッセージ テキスト',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) |
情報 | 情報プロンプトダイアログボックス QMessageBox.information(self,'タイトル','メッセージ ダイアログ ボックスのテキスト',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) |
質問 | 質問して確認ダイアログボックスを表示する QMessageBox.question(self,'タイトル','質問ボックスのメッセージテキスト',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) |
致命的 | エラーメッセージダイアログボックス QMessageBox.critical(self,'タイトル','重大なエラー ダイアログ ボックスのメッセージ テキスト',QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes) |
について | カスタム情報を含むダイアログボックスについて QMessageBox.about(self,'タイトル','[概要]ダイアログ ボックス') |
Qtについて | 「Qt について」ダイアログ・ボックス |
warning()、information()、critical()、about() のダイアログ ボックスでは、通常、ダイアログ ボックスには [OK] ボタンが 1 つだけありますが、ダイアログ ボックスの戻り値に注意を払う必要はないので、デフォルトの [OK] ボタンが表示されます。ボタン設定を使用できます。
def warning(self):
title = 'warning消息框'
info = "文件已经被修改"
QtWidgets.QMessageBox.warning(self,title,info)
ただし、次の方法を使用する方が簡単です
def messageDialog(self):
#核心功能代码
msg_box = QtWidgets.QMessageBox(QtWidgets.QMessageBox.Information, '警告', 'PLC连接出现异常') #Information可替换为Warning、Critical其他提示框类型
msg_box.setWindowIcon(QtGui.QIcon('logo.ico')) #加载图标
msg_box.exec_()
QMessageBox ボタンの意味:
タイプ | 説明する |
QMessageBox.Yes | 操作に同意する |
QMessageBox.No | 操作をキャンセルする |
Qメッセージボックス.OK | 操作に同意する |
Qメッセージ.キャンセル | 操作をキャンセルする |
QMessage.Abort | 操作を終了する |
QMessage.Retry | 操作を再試行してください |
QMessage.Ignore | アクションを無視する |
QMessageBox.question() は、ダイアログ ボックスに [OK]、[いいえ]、[キャンセル]、または [OK] と [キャンセル] などの複数のボタンを同時に表示できるメソッドであることに注意してください。返される結果は QMessageBox.StandardButton 列挙型変数で、どのボタンが選択されているかを示します。
def question_msg(self):
defaultBtn = QMessageBox.NoButton
reply1 = QMessageBox.question(self, "标题", "提问框消息正文", QMessageBox.Yes | QMessageBox.No |QMessageBox.Cancel,defaultBtn)