PyQt5从标准对话框获取输入
QInputDialog.getText() # 返回字符串
QInputDialog.getInt() # 返回整数
QInputDialog.getDouble() # 返回小数
QInputDialog.getItem() # 下拉式,返回选择的内容
import sys
from PyQt5.QtWidgets import QWidget, QFormLayout, QPushButton, QLineEdit, QInputDialog, QApplication
class InputdialogDemo(QWidget):
def __init__(self, parent=None):
super(InputdialogDemo, self).__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("Input Dialog例子")
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):
num, ok = QInputDialog.getInt(self, "integer input dualog", '请输入数字')
if ok:
self.le3.setText(str(num))
if __name__ == '__main__':
app = QApplication(sys.argv)
win = InputdialogDemo()
win.show()
sys.exit(app.exec_())
运行结果: