>백엔드 개발 >파이썬 튜토리얼 >PyQt5는 매일 창을 닫는 법을 배워야 합니다

PyQt5는 매일 창을 닫는 법을 배워야 합니다

不言
不言원래의
2018-04-19 11:26:0010816검색

이 글에서는 매일 PyQt5에서 창을 닫는 방법을 자세히 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

창을 닫는 가장 쉬운 방법은 제목 표시줄에 있는 x를 클릭하는 것입니다. 그러나 다음 예제에서는 프로그래밍 방식으로 창 닫기를 제어하는 ​​방법을 보여줍니다. 우리는 PyQt5의 신호/슬롯을 사용할 것입니다.

다음은 예제에서 사용한 QPushButton 컨트롤의 구성 방법입니다.

QPushButton(string text, QWidget parent = None)

text 매개변수는 버튼에 표시할 텍스트입니다. parent 버튼 컨트롤을 배치할 위치입니다. 다음 예에서는 버튼 컨트롤을 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 클래스의 인스턴스인 버튼을 만듭니다. 생성자의 첫 번째 매개변수는 버튼의 라벨입니다. 두 번째 매개변수는 상위 창 컨트롤입니다. 상위 창 컨트롤은 QWidget에서 상속된 클래스인 예제 컨트롤입니다.

btn.clicked.connect(QCoreApplication.instance().quit)

이벤트 처리 시스템은 PyQt5의 신호/슬롯 메커니즘을 기반으로 구축되었습니다. 버튼을 클릭하면 버튼은 신호를 내보내고 클릭 신호는 quit() 메서드에 연결되어 애플리케이션을 종료합니다.

슬롯은 Qt 슬롯 또는 Python 호출이 될 수 있습니다. QCoreApplication에는 기본 이벤트 루프가 포함되어 있으며 모든 이벤트를 처리하고 전달합니다. 인스턴스() 메소드는 현재 인스턴스를 제공합니다. QCoreApplication과 QApplication을 구별하십시오.

발신자와 수신자: 통신은 두 개체 사이에서 이루어집니다. 송신자는 버튼이고 수신자는 애플리케이션 객체입니다.

개념이 약간 혼란스럽습니다. 여기서 정리하겠습니다.

버튼(btn)이 송신기입니다. 버튼을 클릭하면 클릭 신호가 전송됩니다. 신호를 클릭하여 슬롯에 연결합니다(Qt 슬롯 또는 Python 호출일 수 있음).
우리의 경우 Qt 슬롯인 경우 QCoreApplication은 모든 Qt 이벤트를 처리하고 전달하며 인스턴스(이 인스턴스(수신자))의 종료 이벤트를 전달합니다.

이게 바로 그런 의미일 것입니다. 시간을 갖고 이해해 보세요!

프로그램 실행 후 종료 버튼을 눌러 프로그램을 닫아주세요.

PyQt5는 매일 창을 닫는 법을 배워야 합니다

관련 추천:

PyQt5는 팝업 메시지 상자를 매일 학습해야 합니다.

PyQt5는 다운로드 진행률 표시줄 효과를 구현합니다.

PyQt5는 매일 진행률 표시줄 효과를 학습해야 합니다

위 내용은 PyQt5는 매일 창을 닫는 법을 배워야 합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.