PyQt 5 의 입력 대화 상자 사용 하기(QInputDialog)상세 설명
9986 단어 PyQt5입력대화 상자QInputDialog
1)문자열 형(방법=QInputDialog.getText);
2)Int 형식 데이터(방법=QInputDialog.getInt);
3)double 형식 데이터(방법=QInputDialog.getDouble);
4)드 롭 다운 목록 상자 의 항목(방법=QInputDialog.getItem).
QInputDialog 는 QDialog 에서 계승 하여 간단 한 입력 대화 상 자 를 제공 합 니 다.
class QInputDialog(QDialog)
| QInputDialog(QWidget parent=None, Qt.WindowFlags flags=0)
QInputDialog 프로필:
Qt 는 QInputDialog 클래스 를 제공 합 니 다.QInputDialogDialog 클래스 는 사용자 의 단일 입력 정 보 를 얻 기 위해 간단 하고 편리 한 대화 상 자 를 제공 합 니 다.현재 4 가지 데이터 형식의 입력 을 제공 합 니 다.문자열,Int 형식 데이터,double 형식 데이터 또는 드 롭 다운 목록 상자 의 항목 을 만 들 수 있 습 니 다.표준 입력 대화 상자 의 기본 구 조 는 다음 그림 과 같 습 니 다.
알림 탭 과 입력 컨트롤 이 포함 되 어 있 습 니 다.문자열 입력 상 자 를 그대로 호출 하면 QLine Edit 입 니 다.Int 형식 을 호출 하거나 형식 입력 상 자 를 보고 하면 QSpinBox 입 니 다.목록 항목 입력 상 자 를 호출 하면 QComboBox 입 니 다.입력 확인(OK)단추 와 입력 취소(Cancel)단추 도 포함 되 어 있 습 니 다.
QInputDialog 의 정적 함수
1、getText()
QInputDialog 의 getText()함수 팝 업 표준 문자열 입력 대화 상자,getText()함수 원형 은 다음 과 같 습 니 다.
QString getText(QWidget*parent,\#표준 입력 대화 상자 의 부모 창
const QString&title,\#대화 상자 의 제목 이름 입력
const QString&label,\#표준 입력 대화 상자 의 탭 알림
const QString&text=QString(),\#표준 문자열 입력 대화 상자 팝 업 시 QLine Edit 컨트롤 에 기본적으로 나타 나 는 텍스트
bool*ok=0,\#표준 입력 대화 상자 에 사용 할 단 추 를 표시 합 니 다.ok 이 true 이면 사용자 가 OK(확인)단 추 를 누 른 것 을 의미 합 니 다.ok 이 false 이면 Cancel(취소)단 추 를 누 른 것 을 의미 합 니 다.
Qt::WindowFlags flags=0,\#유명 표준 입력 대화 상자 의 창 표지
Qt::InputMethodHints inputMethodHints = Qt::ImhNone ); [static]
2、getItem()
QInputDialog 의 getItem()함수 팝 업 표준 항목 선택 대화 상자,getItem()함수 원형 은 다음 과 같 습 니 다.
QString getItem(QWidget*parent,표준 입력 대화 상자 의 부모 창
const QString&title,표준 입력 대화 상자 의 제목 이름
const QString&label,표준 입력 대화 상자 의 탭 알림
const QStringList&list,표준 입력 대화 상자 의 QComboBox 컨트롤 에 표 시 된 선택 가능 한 항목 을 QStringList 대상 으로 지정 합 니 다.
int current=0,표준 입력 대화 상자 의 QComboBox 컨트롤 에 표 시 된 선택 가능 한 항목 을 QStringList 대상 으로 지정 합 니 다.
bool editable=true,QComboBox 컨트롤 에 표 시 된 텍스트 를 편집 할 수 있 는 지 지정 합 니 다.
bool*ok=0,표준 입력 대화 상자 에 사용 할 여자 아이 가 트리거 되 었 습 니 다.ok 이 false 이면 사용자 가 Cancel(취소)단 추 를 눌 렀 음 을 표시 합 니 다.
Qt::WindowFlags f = 0 ) ; [static]표준 입력 대화 상자 에 사용 할 여자 아이 가 트리거 되 었 습 니 다.ok 이 false 이면 사용자 가 Cancel(취소)단 추 를 눌 렀 음 을 표시 합 니 다.
3、getInteger()
QInputDialog 의 getInteger()함수 팝 업 표준 int 형식 입력 대화 상자,getInteger()함수 원형 은 다음 과 같 습 니 다.
int getInteger(QWidget*parent,부모 창
const QString&title,제목 명
const QString&label,태그 알림
int value=0,지정 한 표준 입력 대화 상자 의 QSpinBox 컨트롤 기본 디 스 플레이 값
int minValue = -2147483647,
int maxValue=2147483647,QSpinBox 컨트롤 의 수치 범 위 를 지정 합 니 다.최소 및 최대 값 입 니 다.
int step=1,step 는 QSpinBox 컨트롤 의 스텝 값(즉 스텝 길이)을 지정 합 니 다.
bool * ok = 0,
Qt::WindowFlags f = 0 ) ;
4、getDouble()
QInputDialog 의 getDouble()함수 팝 업 표준 double 형식 입력 대화 상자,getDouble()함수 원형 은 다음 과 같 습 니 다.
double getDouble( QWidget * parent,
const QString & title,
const QString&label,태그 알림
double value=0,지정 한 표준 입력 대화 상자 의 QSpinBox 컨트롤 기본 디 스 플레이 값
double minValue = -2147483647,
double maxValue 2147483647,
int decimals=1,QSpinBox 컨트롤 의 부동 수의 소수점 자릿수 를 지정 합 니 다.
bool * ok = 0,
Qt::WindowFlags f = 0 ) ;
예시
1)문자열
def getText(self):
text, okPressed = QInputDialog.getText(self, "Get text","Your name:", QLineEdit.Normal, "")
if okPressed and text != '':
print(text)
2)int
def getInteger(self):
i, okPressed = QInputDialog.getInt(self, "Get integer","Percentage:", 28, 0, 100, 1)
if okPressed:
print(i)
3)double
def getDouble(self):
d, okPressed = QInputDialog.getDouble(self, "Get double","Value:", 10.05, 0, 100, 10)
if okPressed:
print(d)
4)항목
def getChoice(self): #Get item/choice
items = ("Red","Blue","Green")
item, okPressed = QInputDialog.getItem(self, "Get item","Color:", items, 0, False)
if okPressed and item:
print(item)
간단 한 예 1[출처 를 인용 하 다]:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEdit
from PyQt5.QtGui import QIcon
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 input dialogs - pythonspot.com'
self.left = 10
self.top = 10
self.width = 640
self.height = 480
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
self.getInteger()
self.getText()
self.getDouble()
self.getChoice()
self.show()
def getInteger(self):
i, okPressed = QInputDialog.getInt(self, "Get integer","Percentage:", 28, 0, 100, 1)
if okPressed:
print(i)
def getDouble(self):
d, okPressed = QInputDialog.getDouble(self, "Get double","Value:", 10.50, 0, 100, 10)
if okPressed:
print( d)
def getChoice(self):
items = ("Red","Blue","Green")
item, okPressed = QInputDialog.getItem(self, "Get item","Color:", items, 0, False)
if ok and item:
print(item)
def getText(self):
text, okPressed = QInputDialog.getText(self, "Get text","Your name:", QLineEdit.Normal, "")
if okPressed and text != '':
print(text)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
입력 대화 상자 사용 예 2:방법 1>코드 로 만 들 기
참고 하 세 요https://www.jb51.net/article/163860.htm
방법 2>Qt 디자이너 로 만 들 기
step 1:Qt 디자이너 를 사용 하여 GUI 를 만 듭 니 다.다음 그림:
설명:
네 번 째 줄 컨트롤:생년월일(label)―labeldate――dateButton――Date Edit
맨 오른쪽 상단 의 컨트롤 은 Line Edit 상자 로 날 짜 를 입력 하 는 데 사 용 됩 니 다.이것 은 폐 기 된 컨트롤 로 삭제 할 수 없습니다.
그림 에서 두 번 째 열(label 로 표시)은 네 번 째 열(line Edit 로 표시)의 표시 결과 와 같 고 네 번 째 열 은 버튼 컨트롤 과 입력 기능 도 가지 고 있다.
step 2:ui 파일 로 저장 하고 my input dialog.py 파일 로 변환 하여 이 파일 을 실행 합 니 다.
my inpuutdialog.py 파일 의 클래스 이름 은:
class Ui_Dialog(object):
def setupUi(self, Dialog):
step 3:새 주 함수 파일 은 my input dialog main.py 입 니 다.이 파일 에 다음 코드 를 추가 합 니 다.
from PyQt5.QtWidgets import *
import sys
from MyInputDialog2 import Ui_Dialog
class MyDialog(QDialog,Ui_Dialog):
def __init__(self):
super(MyDialog,self).__init__()
self.setupUi(self)
self.setWindowTitle(" ")
#6
self.nameButton.clicked.connect(self.inputName)
self.sexButton.clicked.connect(self.inputSex)
self.ageButton.clicked.connect(self.inputAge)
self.dateButton.clicked.connect(self.inputDate2) # Date Edit
self.dateButton.clicked.connect(self.inputDate1) #
self.HButton.clicked.connect(self.inputHeight)
self.WButton.clicked.connect(self.inputWeight)
#6 Label
#label_name,label_sex,label_age,label_date,label_h,label_w
#7 LineEdit ,
#namelineEdit,sexlineEdit,agelineEdit,datelineEdit,hlineEdit,wlineEdit,lovelineEdit
def inputName(self):
name2 = self.namelineEdit.text()
name, ok = QInputDialog.getText(self, " ",
" :",
QLineEdit.Normal, self.label_name.text())
if ok:
self.label_name.setText(name)
self.namelineEdit.setText(name)
else:
self.label_name.setText(name2)
def inputSex(self):
list = []
list.append(" ")
list.append(" ")
sex, ok = QInputDialog.getItem(self, " ", " ", list)
if ok:
self.label_sex.setText(sex)
self.sexlineEdit.setText(sex)
def inputAge(self):
age, ok = QInputDialog.getInt(self, " "," :",
int(self.label_age.text()), 0, 150,4)
if ok:
self.label_age.setText(str(age))
self.agelineEdit.setText(str(age))
def inputDate1(self):
dd, ok = QInputDialog.getText(self, " ",
" :",
QLineEdit.Normal, self.label_date.text())
if ok:
self.label_date.setText(dd)
self.datelineEdit.setText(dd)
def inputDate2(self):
time = self.dateEdit.text()
self.label_date.setText(str(time))
def inputHeight(self):
stature, ok = QInputDialog.getDouble(self, " ",
" :",
float(self.label_h.text()), -2300.0000, 2300.9999,4)
if ok:
self.label_h.setText(str(stature))
self.hlineEdit.setText(str(stature))
def inputWeight(self):
stature, ok = QInputDialog.getDouble(self, " ",
" :",
float(self.label_w.text()), 0, 2300.00,2)
if ok:
self.label_w.setText(str(stature))
self.wlineEdit.setText(str(stature))
if __name__ == "__main__":
app = QApplication(sys.argv)
main = MyDialog()
main.show()
sys.exit(app.exec_())
이 PyQt 5 에 대한 입력 대화 상자 사용(QInputDialog)에 대한 자세 한 설명 은 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.여러분 께 참고 가 되 셨 으 면 좋 겠 습 니 다.여러분 들 도 많이 응원 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Qt Designer와 PyQt5로 GUI인 MQTT 구독자를 만들 때의 메모직장의 건물이 신축되었으므로, 각 층의 분전반에 전력계를 설치해, 1곳에서 모니터링할 수 있는 시스템을 구축하려고 생각했다. 전력계는 을 참고로 제작했다. 시스템의 전체도 Windows10상에, 선인의 지혜를 참고로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.