QInputDialog控件是一个标准对话框,由一个文本框和两个按钮(OK按钮和Cancle按钮)组成。当用户单击OK按钮或按Enter键后,在父窗口可以收集通过QInputDialog控件输入的信息。QInputDialog是QDialog标准对话框的一部分。
在QInputDialog控件中可以输入数字/字符串或列表中的选项。标签用于提示必要的信息。
QInputDialog类中的常用方法:
getInt() 从控件中获得标准整数输入
getDouble() 从控件中获得标准浮点数输入
getText() 从控件中获得标准字符串输入
getItem() 从控件中获得列表里的选项输入
案例22 QInputDialog的使用
import sys from PyQt5.QtWidgets import QWidget, QApplication, QInputDialog, QPushButton, QFormLayout, QLineEdit class InputDialog(QWidget): def __init__(self, parent=None): super().__init__(parent) layout = QFormLayout() self.btn1 = QPushButton("获得列表里的选项") self.btn1.clicked.connect(self.getItem) self.le1 = QLineEdit() layout.addRow(self.btn1, self.le1) self.btn2 = QPushButton("获得字符串") self.btn2.clicked.connect(self.getText) self.le2 = QLineEdit() layout.addRow(self.btn2, self.le2) self.btn3 = QPushButton("获得整数") self.btn3.clicked.connect(self.getInt) self.le3 = QLineEdit() layout.addRow(self.btn3, self.le3) self.setLayout(layout) self.setWindowTitle("InputDialog 例子") def getItem(self): items = ("C", "C++", "Java", "Python") item, ok = QInputDialog.getItem(self, "select input dialog", "语言列表", items, 0, False) if ok and item: self.le1.setText(item) def getText(self): text, ok = QInputDialog.getText(self, "Text Input Dialog", "输入姓名:") if ok: self.le2.setText(str(text)) def getInt(self): text, ok = QInputDialog.getInt(self, "integer Input Dialog", "输入数字:") if ok: self.le3.setText(str(text)) if __name__ == "__main__": app = QApplication(sys.argv) demo = InputDialog() demo.show() sys.exit(app.exec_())