PyQt 5 매일 배 워 야 할 창 닫 기

2925 단어 PyQt5창구.
가장 간단 한 창 을 닫 는 방법 은 제목 표시 줄 의 x 표 지 를 클릭 하 는 것 입 니 다.그러나 다음 예 에서 창 을 닫 는 것 을 프로 그래 밍 을 통 해 제어 하 는 방법 을 보 여 줍 니 다.우 리 는 PyQt 5 의 신호/슬롯 을 사용 할 것 입 니 다.
다음은 우리 가 예 에서 사용 한 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 류 의 인 스 턴 스 입 니 다.구조 함수 의 첫 번 째 매개 변 수 는 단추 의 탭 입 니 다.두 번 째 인 자 는 부모 창 컨트롤 입 니 다.부모 창 컨트롤 은 Example 컨트롤 입 니 다.이것 은 QWidget 에서 계승 하 는 클래스 입 니 다.

btn.clicked.connect(QCoreApplication.instance().quit)
이 이벤트 처리 시스템 은 PyQt 5 의 신호/슬롯 메커니즘 에 구축 되 어 있 습 니 다.이 단 추 를 누 르 면 신 호 를 보 내 고 quit()에 신 호 를 연결 하 는 방법 을 누 르 면 프로그램 이 종 료 됩 니 다.
슬롯 은 Qt 의 슬롯 일 수도 있 고 Python 의 모든 호출 일 수도 있 습 니 다.QCoreApplication 은 주 이벤트 순환 을 포함 합 니 다.그것 은 모든 사건 을 처리 하고 배치한다.instance()방법 은 현재 인 스 턴 스 를 제공 합 니 다.주의,QCoreApplication 과 QApplication 을 구분 합 니 다.
송신기 와 수신 기:통신 의 두 대상 사이 에서 진행 합 니 다.전송 기 는 버튼 이 고 수신 기 는 응용 대상 입 니 다.
개념 이 좀 혼 란 스 러 우 니 여기 서 정리 하 자.
단추(btn)는 송신기 입 니 다.클릭(clicked)단 추 를 누 르 면 클릭 신 호 를 보 냅 니 다.홈 에 신호 연결(connect)을 누 르 십시오.
예 를 들 어 Qt 의 슬롯,QCoreApplication 에서 모든 Qt 이 벤트 를 처리 하고 스케줄 링 하 며 인 스 턴 스(이 인 스 턴 스(수신 기)의 quit 이 벤트 를 스케줄 링 합 니 다.
아마 이 뜻 일 거 야,천천히 이해 해!
프로그램 이 실 행 된 후 종료 단 추 를 누 르 면 프로그램 이 종 료 됩 니 다.
这里写图片描述
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기