Recent Posts
Recent Comments
Link
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

DevStudy

PyQt5 본문

기타

PyQt5

DevStudy 2022. 1. 15. 21:48

QInputDialog

 

 

입력 다이얼로그 (QInputDialog)는 사용자가 간단한 값을 입력할 때 사용하는 다이얼로그입니다.

입력값은 숫자, 문자열, 리스트에서 선택한 항목 등이 될 수 있습니다. (QInputDialog 공식 문서 참고)

입력값의 형태에 따라 아래와 같이 다섯 개의 유용한 함수가 제공됩니다.

  • getText()
  • getMultiLineText()
  • getInt()
  • getDouble()
  • getItem()

예제에서는 getText() 메서드를 사용합니다.

 

예제

## Ex 6-1. QInputDialog.

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.move(120, 35)

        self.setWindowTitle('Input dialog')
        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_())

푸시 버튼 (QPushButton)과 줄 편집기 (QLineEdit) 위젯을 하나씩 만들었습니다.

버튼을 누르면 입력 다이얼로그 (input dialog)가 나타나고, 텍스트를 입력받아서 줄 편집 위젯에 표시합니다.

 
 

설명

text, ok = QInputDialog.getText(self, 'Input Dialog', 'Enter your name:')

이 코드를 통해 입력 대화창이 나타납니다.

두번째 매개변수는 대화창의 타이틀, 세번째 매개변수는 대화창 안에 보여질 메세지를 의미합니다. 입력 다이얼로그는 입력한 텍스트와 불 (Boolean) 값을 반환합니다.

텍스트를 입력한 후 ‘OK’ 버튼을 누르면 불 값은 True, ‘Cancel’ 버튼을 누르면 불 값은 False가 됩니다.

 
 
if ok:
    self.le.setText(str(text))

입력한 값을 setText() 메서드를 통해 줄 편집 위젯에 표시되도록 합니다.

 
 

결과

 

 

 

'기타' 카테고리의 다른 글

PyQt5  (0) 2022.01.15
PyQt5  (0) 2022.01.15
PyQt5  (0) 2022.01.15
PyQt5  (0) 2022.01.15
PyQt5  (0) 2022.01.15