本篇介绍 PyQt5 中 QInputDialog 类的四种对话框。
1). 整数输入框
(int, bool ok) QInputDialog.getInt (QWidget parent, QString title, QString label, int value = 0, int min = -2147483647, int max = 2147483647, int step = 1, Qt.WindowFlags flags = 0)
参数有:父控件,标题,标签文本,初始值,最小值,最大值,微调框步长,窗口样式。
返回值:当前整数,是否确定
2)浮点数输入框
(float, bool ok) QInputDialog.getDouble (QWidget parent, QString title, QString label, float value = 0, float min = -2147483647, float max = 2147483647, int decimals = 1, Qt.WindowFlags flags = 0)
参数有:父控件,标题,标签文本,初始值,最小值,最大值,小数点后位数,窗口样式。
返回值:当前浮点数,是否确定
3)字符串输入框
(str, bool ok) QInputDialog.getText (QWidget parent, QString title, QString label,QLineEdit.EchoMode mode = QLineEdit.Normal,QString text = QString(), Qt.WindowFlags flags = 0)
参数有:父控件,标题,标签文本, 显示模式,初始字符串,窗口样式
其中显示模式有4种类型:
QLineEdit.Normal 正常模式,默认
QLineEdit.NoEcho 完全不显示输入内容,防止密码被偷窥,甚至连密码长度都隐藏
QLineEdit.Password 以星号显示所输入的字符
QLineEdit.PasswordEchoOnEdit 只在显示初始值或编辑完(QLineEdit失去焦点)后显示星号
返回值:当前字符串,是否确定
4)下拉列表对话框
(str, bool ok) InputDialog.getItem (QWidget parent, QString title, QString label, QStringList list, int current = 0, bool editable = True, Qt.WindowFlags flags = 0)
参数有:父控件,标题,标签文本,item字符串列表,初始索引,是否可编辑,窗口样式。
返回值:当前item字符串,是否确定
具体的运用可参考以下代码: