QInputDialog Class는 사용자가 간단한 값을 입력할 때 사용하는 대화창입니다. 입력 값은 숫자, 문자열, 리스트에서 선택한 항목 등이 될 수 있습니다. (QInputDialog 공식 문서) 참고
입력값의 형태에 따라 아래와 같이 다섯 개의 유용한 메서드가 제공됩니다.
- getText()
- getMultiLineText()
- getInt()
- getDouble()
- getItem()
37-1 예제: ex36
import sys from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QLineEdit, QInputDialog) class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.btn = QPushButton('Dialog', self) self.btn.move(30, 30) self.btn.clicked.connect(self.showDialog) self.le = QLineEdit(self) self.le.setEnabled(False) self.le.move(120, 32) self.setWindowTitle('QInputDialog') self.setGeometry(300, 300, 300, 200) self.show() def showDialog(self): (text, ok) = QInputDialog.getText(self, 'Input Dialog', 'Enter your name: ') if ok: self.le.setText(str(text)) if __name__ == '__main__': app = QApplication(sys.argv) ex = MyApp() sys.exit(app.exec_()) |
37-2 설명
def showDialog(self): (text, ok) = QInputDialog.getText(self, 'Input Dialog', 'Enter your name: ') |
QInputDialog 위젯의 getText() 메서드를 통하여 대화창이 나타납니다. 첫 번째 매개변수는 대화창이 나타날 부모창이고, 두 번째 매개변수는 대화창의 제목, 세 번째 매개변수는 대화창 안에 보여질 메시지를 의미합니다. 입력 대화창은 입력한 텍스트와 불(Boolean) 값을 반환합니다.
텍스트를 입력한 후 'OK' 버튼을 누르면 불 값은 True, 'Cancel' 버튼을 누르면 불 값은 False가 됩니다.
if ok: self.le.setText(str(text)) |
입력한 값을 setText() 메서드를 통해 줄 편집 위젯에 표시되도록 합니다.
37-3 결과
'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글
39. QFontDialog (0) | 2021.07.28 |
---|---|
38. QColorDialog (0) | 2021.07.27 |
36. QTableWidget (0) | 2021.07.27 |
34. QTextEdit (0) | 2021.07.27 |
33. QTextBrowser (0) | 2021.07.27 |