ホームページ >バックエンド開発 >Python チュートリアル >PyQt5 は毎日ウィンドウを閉じることを学習する必要があります
この記事では主にPyQt5でウィンドウを閉じる方法を毎日詳しく紹介しますので、興味のある方は参考にしてください
ウィンドウを閉じる最も簡単な方法は、タイトルバーのロゴの[x]をクリックすることです。ただし、次の例では、プログラムでウィンドウの閉じるを制御する方法を示します。 PyQt5 のシグナル/スロットを使用します。
以下は、例で使用した QPushButton コントロールの構築方法です。
QPushButton(string text, QWidget parent = None)
text パラメータは、ボタンに表示するテキストです。親 ボタン コントロールを配置する場所。次の例では、ボタン コントロールを QWidget に配置します。アプリケーションのウィンドウ コントロールは階層構造を形成できます。このレベルでは、ほとんどのコントロールには親コントロールがあり、親コントロールのないコントロールはトップレベルのウィンドウになります。
#!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 这个程序创建一个退出按钮。当我们按下按钮,应用程序将终止。 作者:我的世界你曾经来过 博客:http://blog.csdn.net/weiaitaowang 最后编辑:2016年7月29日 """ import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton from PyQt5.QtCore import QCoreApplication class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): btn = QPushButton('退出', self) btn.clicked.connect(QCoreApplication.instance().quit) btn.resize(btn.sizeHint()) btn.move(50, 50) self.setGeometry(300, 300, 300, 220) self.setWindowTitle('退出按钮') self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec_())
この例では、終了ボタンを作成しました。ボタンをクリックするとアプリケーションが終了します。
from PyQt5.QtCore import QCoreApplication
QtCoreモジュールのQCoreApplicationオブジェクトを使用する必要があります
btn = QPushButton('退出', self)
QPushButtonクラスのインスタンスであるボタンを作成します。コンストラクターの最初のパラメーターはボタンのラベルです。 2 番目のパラメータは親ウィンドウ コントロールです。親ウィンドウ コントロールは Example コントロールで、QWidget から継承されたクラスです。
btn.clicked.connect(QCoreApplication.instance().quit)
イベント処理システムは、PyQt5 のシグナル/スロット メカニズムに基づいて構築されています。ボタンをクリックすると、ボタンは信号を発し、クリック信号はアプリケーションを終了する quit() メソッドに接続されます。
スロットは、Qt スロットまたは任意の Python 呼び出しにすることができます。 QCoreApplication には、すべてのイベントを処理およびディスパッチするメイン イベント ループが含まれています。 instance() メソッドは現在のインスタンスを提供します。 QCoreApplication と QApplication を区別してください。
送信者と受信者: 通信は 2 つのオブジェクト間で行われます。送信者はボタン、受信者はアプリケーション オブジェクトです。
概念は少しわかりにくいので、ここで整理しましょう:
ボタン (btn) は送信機です。ボタンをクリックすると、クリック信号が送信されます。信号をクリックしてスロットに接続します (Qt スロットまたは任意の Python 呼び出しを使用できます)。
私たちの場合、それは Qt スロットであり、QCoreApplication はすべての Qt イベントを処理およびディスパッチし、インスタンス (このインスタンス (レシーバー)) の quit イベントをディスパッチします。
おそらくそれが意味するところです、時間をかけて理解してください!
プログラムの実行後、終了ボタンをクリックしてプログラムを閉じます。
関連する推奨事項:
PyQt5 は、ポップアップ メッセージ ボックスを毎日学習する必要があります
PyQt5 は、ダウンロードの進行状況バーの効果を実現するために
PyQt5 は、毎日進行状況バーの効果を学習する必要があります
以上がPyQt5 は毎日ウィンドウを閉じることを学習する必要がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。