PyQt5 튜토리얼 101181, QDialog Class 시작

개시하다
지난번에는 기본widget에 대한 총결산이었습니다.
이번에는 QDialog반에 관한 것이다.
컨텐트
QDialog는 주로 사용자의 응답을 얻는 데 사용되며 가장 높은 화면에 나타난다.
PyQt API는 InputDialog, FileDialog, FontDialog 등 확장된 대화상자 위젯을 포함한다.
다음 예에서 WindowModality 속성은 모드나 모드의 양을 결정한다.(※ 무모드 모드일 경우 대화 상자가 닫히기 전에는 원래 창으로 전환할 수 없습니다.)
사용자가 Escape 키를 누르면 QDialog.reject() 방법 대화상자가 폐기된다고 합니다.
dialog.py
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

def window():
   app = QApplication(sys.argv)
   w = QWidget()
   btn = QPushButton(w)
   btn.setText("Hello World!")
   btn.move(100,50)
   btn.clicked.connect(showdialog)
   w.setWindowTitle("PyQt Dialog demo")
   w.show()
   sys.exit(app.exec_())

def showdialog():
   dlg = QDialog()
   b1 = QPushButton("ok",dlg)
   b1.move(50,50)
   dlg.setWindowTitle("Dialog")
   dlg.setWindowModality(Qt.ApplicationModal)
   dlg.exec_()

if __name__ == '__main__':
   window()

실행하면 다음 창이 표시됩니다.

그런 다음 버튼을 누르면 대화 상자 창이 표시됩니다.

최후
대화상자에도 다양한 유형이 준비되어 있으며 모드/모드 스커트 등도 설정할 수 있다.
자주 사용하는 GUI 대화 상자의 제작 방법의 기본을 이해했습니다.
다만 대화 상자에서 부모에게 보내는 신호를 주고받는 방법과 데이터를 공유하는 방법 등에 신경을 쓴다.일반적인 상황에서signal/slot이나 글로벌 변수 따위로 완성할 수 있습니까?
앞으로도 이런 부분에 주목할 것이다.
참고 자료

좋은 웹페이지 즐겨찾기