ホームページ  >  記事  >  バックエンド開発  >  PyQt5 は毎日ウィンドウを閉じることを学習する必要があります

PyQt5 は毎日ウィンドウを閉じることを学習する必要があります

不言
不言オリジナル
2018-04-19 11:26:0010753ブラウズ

この記事では主に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 は、毎日進行状況バーの効果を学習する必要があります

以上がPyQt5 は毎日ウィンドウを閉じることを学習する必要がありますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。