PyQt5 支持多个输入对话框,使用它们可以导入QInputDialog。
from PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEdit
PyQt5 输入对话框概述:

获取整数
使用QInputDialog.getInt()获取整数:
def getInteger(self):i, okPressed = QInputDialog.getInt(self, "Get integer","Percentage:", 28, 0, 100, 1)if okPressed:print(i)
参数顺序如下:自身,窗口标题,标签(在输入框之前),默认值,最小,最大和步长。
获得浮点
通过QInputDialog.getDouble()获得双倍:
def getDouble(self):d, okPressed = QInputDialog.getDouble(self, "Get double","Value:", 10.05, 0, 100, 10)if okPressed:print(d)
最后一个参数(10)是逗号后面的小数位数。
获取/选择项目
从下拉框中获取一个项目:
def getChoice(self):items = ("Red","Blue","Green")item, okPressed = QInputDialog.getItem(self, "Get item","Color:", items, 0, False)if okPressed and item:print(item)
获取字符串
使用QInputDialog.getText()获取字符串
def getText(self):text, okPressed = QInputDialog.getText(self, "Get text","Your name:", QLineEdit.Normal, "")if okPressed and text != '':print(text)
所有 PyQt5 输入对话框的示例
下面的完整示例:
import sysfrom PyQt5.QtWidgets import QApplication, QWidget, QInputDialog, QLineEditfrom PyQt5.QtGui import QIconclass App(QWidget):def __init__(self):super().__init__()self.title = 'PyQt5 input dialogs - pythonspot.com'self.left = 10self.top = 10self.width = 640self.height = 480self.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_())
