ホームページ > バックエンド開発 > Python チュートリアル > PyQt5 はポップアップ メッセージ ボックスを毎日学習する必要があります

PyQt5 はポップアップ メッセージ ボックスを毎日学習する必要があります

不言
リリース: 2018-04-19 11:23:20
オリジナル
6602 人が閲覧しました

この記事では、PyQt5 で毎日学習する必要があるポップアップ メッセージ ボックスを主に詳しく紹介します。興味のある方は参考にしてください。

デフォルトでは、タイトル バーの [X] ボタンをクリックすると、 QWidget が閉じます。場合によっては、このデフォルトの動作を変更する必要があります。たとえば、エディタで開きたいファイルがある場合、最初にメッセージ ボックスを表示して、開く操作を確認することができます。

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

当我们点击应用程序窗口的关闭按钮,该程序显示一个确认信息框。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年7月29日
"""

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMessageBox

class Example(QWidget):

 def __init__(self):
  super().__init__()

  self.initUI()

 def initUI(self):

  self.setGeometry(300, 300, 300, 220)
  self.setWindowTitle('消息盒子')  
  self.show()

 def closeEvent(self, event):

  reply = QMessageBox.question(self, '信息', '确认退出吗?', 
   QMessageBox.Yes | QMessageBox.No, QMessageBox.No)

  if reply == QMessageBox.Yes:
   event.accept()
  else:
   event.ignore()

if __name__ == '__main__':

 app = QApplication(sys.argv)
 ex = Example()
 sys.exit(app.exec_())
ログイン後にコピー

QWidget コントロールを閉じると、QCloseEvent イベントが生成されます。コントロールのプロパティを変更するには、closeEvent() イベント ハンドラーを再実装する必要があります。

 reply = QMessageBox.question(self, '信息', '确认退出吗?', 
   QMessageBox.Yes | QMessageBox.No, QMessageBox.No)
ログイン後にコピー

「はい」と「いいえ」の 2 つのボタンがあるメッセージ ボックスが表示されます。最初の文字列がタイトル バーに表示されます。 2 番目の文字列は、ダイアログ ボックスに表示されるメッセージ テキストです。 3 番目のパラメータは、ポップアップ ダイアログ ボックスのボタンの組み合わせを指定します。最後のパラメータはデフォルトのボタンで、初期キーボード フォーカスを持つボタンです。戻り値は応答変数に格納されます。

 if reply == QMessageBox.Yes:
   event.accept()
  else:
   event.ignore()
ログイン後にコピー

ここでは、戻り値をテストするために if を使用します。 [はい] ボタンをクリックすると、ボタン コントロールの終了が受け入れられ、アプリケーションの終了イベントが実行されます。それ以外の場合、終了イベントは無視されます。

プログラムが実行されたら、[PyQt5 は毎日 QSplitter を学習してウィンドウ分割を実装する必要があります] をクリックします

PyQt5 はポップアップ メッセージ ボックスを毎日学習する必要がありますPyQt5 はポップアップ メッセージ ボックスを毎日学習する必要があります


以上がPyQt5 はポップアップ メッセージ ボックスを毎日学習する必要がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート