参考: https://www.cnblogs.com/XJT2018/p/10208710.html
 https://blog.csdn.net/panrenlong/article/details/79948261
 含参数详解: https://blog.csdn.net/zhulove86/article/details/52515460
一、简介
QInputDialog类提供了一个简单的便捷对话框,可以从用户那里获取用户录入的单个值,它提供了4种数据类型的输入;每个输入都包含一个提示标签,一个输入控件;还包括一个确定输入(Ok)按钮和一个取消输入(Cancel)按钮。
字符串型(方法=QInputDialog.getText)---- QLineEdit
Int类型数据(方法=QInputDialog.getInt)---- QSpinBox
double类型数据(方法=QInputDialog.getDouble)----
下拉列表框的条目(方法=QInputDialog.getItem)---- QComboBox
二、部分代码
2.1 字符串
def getText(self):
    text, okPressed = QInputDialog.getText(self, "Get text","Your name:", QLineEdit.Normal, "")
    if okPressed and text != '':
        print(text)
2.2 int
def getInteger(self):
        i, okPressed = QInputDialog.getInt(self, "Get integer","Percentage:", 28, 0, 100, 1)
        if okPressed:
            print(i)
2.3 double
def getDouble(self):
        d, okPressed = QInputDialog.getDouble(self, "Get double","Value:", 10.05, 0, 100, 10)
        if okPressed:
            print(d)
2.4 条目
def getDouble(self):
        d, okPressed = QInputDialog.getDouble(self, "Get double","Value:", 10.05, 0, 100, 10)
        if okPressed:
            print(d)
三、例子
例 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 okPressed 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
from PyQt5.QtWidgets import (QApplication, QWidget, QPushButton, QLabel, QInputDialog, QTextBrowser, QGridLayout)
import sys
from PyQt5.QtGui import QIcon
class Example(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()
    def initUI(self):
        self.setGeometry(500, 500, 500, 500)
        self.setWindowTitle("标准输入对话框")
        self.setWindowIcon(QIcon("11.ico"))
        gridLayout = QGridLayout()
        self.lb11 = QLabel("姓名:")
        self.lb12 = QLabel("xiong")
        self.btn1 = QPushButton("修改姓名")
        gridLayout.addWidget(self.lb11, 0, 0, 1, 1)
        gridLayout.addWidget(self.lb12, 0, 1, 1, 1)
        gridLayout.addWidget(self.btn1, 0, 2, 1, 1)
        self.lb21 = QLabel("年龄:")
        self.lb22 = QLabel("25")
        self.btn2 = QPushButton("修改年龄")
        gridLayout.addWidget(self.lb21, 1, 0, 1, 1)
        gridLayout.addWidget(self.lb22, 1, 1, 1, 1)
        gridLayout.addWidget(self.btn2, 1, 2, 1, 1)
        self.lb31 = QLabel("性别:")
        self.lb32 = QLabel("男")
        self.btn3 = QPushButton("修改性别")
        gridLayout.addWidget(self.lb31, 2, 0, 1, 1)
        gridLayout.addWidget(self.lb32, 2, 1, 1, 1)
        gridLayout.addWidget(self.btn3, 2, 2, 1, 1)
        self.lb41 = QLabel("身高(cm):")
        self.lb42 = QLabel("177.0")
        self.btn4 = QPushButton("修改身高")
        gridLayout.addWidget(self.lb41, 3, 0, 1, 1)
        gridLayout.addWidget(self.lb42, 3, 1, 1, 1)
        gridLayout.addWidget(self.btn4, 3, 2, 1, 1)
        self.lb51 = QLabel("基本信息:")
        self.textBrowser = QTextBrowser()
        self.btn5 = QPushButton("修改信息")
        gridLayout.addWidget(self.lb51, 4, 0, 1, 1)
        gridLayout.addWidget(self.textBrowser, 5, 0, 1, 3)
        gridLayout.addWidget(self.btn5, 4, 2, 1, 1)
        self.setLayout(gridLayout)
        self.btn1.clicked.connect(self.showDialog)
        self.btn2.clicked.connect(self.showDialog)
        self.btn3.clicked.connect(self.showDialog)
        self.btn4.clicked.connect(self.showDialog)
        self.btn5.clicked.connect(self.showDialog)
    def showDialog(self):
        sender = self.sender()
        if sender == self.btn1:
            text, ok = QInputDialog.getText(self, "修改姓名!", "请输入姓名:")
            if ok:
                self.lb12.setText(text)
        elif sender == self.btn2:
            text, ok = QInputDialog.getInt(self, "修改年龄!", "请输入年龄:", min=1)
            if ok:
                self.lb22.setText(str(text))
        elif sender == self.btn3:
            text, ok = QInputDialog.getItem(self, "修改性别!", "请输入性别:", ["男", "女", "人妖"])
            if ok:
                self.lb32.setText(text)
        elif sender == self.btn4:
            text, ok = QInputDialog.getDouble(self, "修改身高!", "请输入身高:", min=10.0)
            if ok:
                self.lb42.setText(str(text))
        elif sender == self.btn5:
            text, ok = QInputDialog.getMultiLineText(self, "修改信息!", "请输入基本信息:")
            if ok:
                self.textBrowser.setText(text)
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    ex.show()
    sys.exit(app.exec_())
