QInputDialog
QInputDialog 用于方便快捷地获取一个用户输入数据,支持整数 int、浮点数 double、文本 QString 三种数据。按照 QInputDialog 内部的输入控件,又可以分为整数输入控件 QSpinBox、浮点数输入控件 QDoubleSpinBox、单行文本输入控件 QLineEdit、多行文本输入控件 QPlainTextEdit、组合框输入控件 QComboBox 等。QInputDialog 将这些常见输入控件包装成输入对话框形式,方便获取用户输入。
QInputDialog 可以作为自定义对话框对象使用,也可以使用静态函数直接弹窗获取输入。
QInputDialog 构造函数比较简单:
QInputDialog(QWidget * parent = 0, Qt::WindowFlags flags = 0)
参数里可以指定父窗口指针和窗口标志位。
构建输入对话框之后,可以设置其输入模式:
void setInputMode(InputMode mode) //设置整数、浮点数或文本输入模式
InputMode inputMode() const //获取当前输入模式
输入模式枚举常量如下表所示:
我们下面按照输入控件的类型分别介绍 QInputDialog 功能,先介绍输入对话框的普通成员函数,最后介绍常用的静态成员函数。
(1)整数输入
QInputDialog 整数输入对话框如下图所示:
上图标题栏文本 title 为“设置整数”,对话框带的提示标签 label 为“请输入整数值”,两个按钮显示默认的“OK”和“Cancel”文本。整数使用 QSpinBox 获取整数,可以定制整数取值范围和旋钮步进,相关函数如下 表所示:
对话框处于显示状态,整数值变化时,触发信号:
void intValueChanged(int value)
如果用户点击了“OK”按钮,对话框关闭,触发最终选择整数值的信号:
void intValueSelected(int value)
(2)浮点数输入
QInputDialog 浮点数输入对话框如下图所示:
上图标题栏文本 title 为“设置浮点数”,提示标签 label 的文本为“请输入浮点数值:”,浮点数旋钮框的小数点后面只显示了一位。详细的浮点数输入定 制函数如下表所示:
对话框处于显示状态,浮点数变化时,触发信号:
void doubleValueChanged(double value)
如果用户点击了“OK”按钮,对话框关闭,触发最终选择浮点数值的信号:
void doubleValueSelected(double value)