QInputDialog

QInputDialog

  • API静态函数
  • 简单使用方式

QInputDialog类是QDialog的子类, 通过这个类我们可以得到一个输入对话框窗口

API静态函数

// 得到一个可以输入浮点数的对话框窗口, 返回对话框窗口中输入的浮点数
/*
参数:
  - parent: 对话框窗口的父窗口
  - title: 对话框窗口显示的标题信息
  - label: 对话框窗口中显示的文本信息(用于描述对话框的功能)
  - value: 对话框窗口中显示的浮点值, 默认为 0
  - min: 对话框窗口支持显示的最小数值
  - max: 对话框窗口支持显示的最大数值
  - decimals: 浮点数的精度, 默认保留小数点以后1位
  - ok: 传出参数, 用于判断是否得到了有效数据, 一般不会使用该参数
  - flags: 对话框窗口的窗口属性, 使用默认值即可
*/
[static] double QInputDialog::getDouble(
    		QWidget *parent, const QString &title, 
    		const QString &label, double value = 0, 
    		double min = -2147483647, double max = 2147483647, 
    		int decimals = 1, bool *ok = nullptr, 
    		Qt::WindowFlags flags = Qt::WindowFlags());

// 得到一个可以输入整形数的对话框窗口, 返回对话框窗口中输入的整形数
/*
参数:
  - parent: 对话框窗口的父窗口
  - title: 对话框窗口显示的标题信息
  - label: 对话框窗口中显示的文本信息(用于描述对话框的功能)
  - value: 对话框窗口中显示的整形值, 默认为 0
  - min: 对话框窗口支持显示的最小数值
  - max: 对话框窗口支持显示的最大数值
  - step: 步长, 通过对话框提供的按钮调节数值每次增长/递减的量
  - ok: 传出参数, 用于判断是否得到了有效数据, 一般不会使用该参数
  - flags: 对话框窗口的窗口属性, 使用默认值即可
*/
[static] int QInputDialog::getInt(
    		QWidget *parent, const QString &title, 
    		const QString &label, int value = 0, 
    		int min = -2147483647, int max = 2147483647, 
    		int step = 1, bool *ok = nullptr, 
    		Qt::WindowFlags flags = Qt::WindowFlags());

// 得到一个带下来菜单的对话框窗口, 返回选择的菜单项上边的文本信息
/*
参数:
  - parent: 对话框窗口的父窗口
  - title: 对话框窗口显示的标题信息
  - label: 对话框窗口中显示的文本信息(用于描述对话框的功能)
  - items: 字符串列表, 用于初始化窗口中的下拉菜单, 每个字符串对应一个菜单项
  - current: 通过菜单项的索引指定显示下拉菜单中的哪个菜单项, 默认显示第一个(编号为0)
  - editable: 设置菜单项上的文本信息是否可以进行编辑, 默认为true, 即可以编辑
  - ok: 传出参数, 用于判断是否得到了有效数据, 一般不会使用该参数
  - flags: 对话框窗口的窗口属性, 使用默认值即可
  - inputMethodHints: 设置显示模式, 默认没有指定任何特殊显示格式, 显示普通文本字符串
    - 如果有特殊需求, 可以参数帮助文档进行相关设置
*/
[static] QString QInputDialog::getItem(
    		QWidget *parent, const QString &title, 
    		const QString &label, const QStringList &items, 
    		int current = 0, bool editable = true, bool *ok = nullptr, 
    		Qt::WindowFlags flags = Qt::WindowFlags(), 
    		Qt::InputMethodHints inputMethodHints = Qt::ImhNone);

// 得到一个可以输入多行数据的对话框窗口, 返回用户在窗口中输入的文本信息
/*
参数:
  - parent: 对话框窗口的父窗口
  - title: 对话框窗口显示的标题信息
  - label: 对话框窗口中显示的文本信息(用于描述对话框的功能)
  - text: 指定显示到多行输入框中的文本信息, 默认是空字符串
  - ok: 传出参数, 用于判断是否得到了有效数据, 一般不会使用该参数
  - flags: 对话框窗口的窗口属性, 使用默认值即可
  - inputMethodHints: 设置显示模式, 默认没有指定任何特殊显示格式, 显示普通文本字符串
    - 如果有特殊需求, 可以参数帮助文档进行相关设置
*/
[static] QString QInputDialog::getMultiLineText(
    		QWidget *parent, const QString &title, const QString &label, 
    		const QString &text = QString(), bool *ok = nullptr, 
    		Qt::WindowFlags flags = Qt::WindowFlags(), 
    		Qt::InputMethodHints inputMethodHints = Qt::ImhNone);

// 得到一个可以输入单行信息的对话框窗口, 返回用户在窗口中输入的文本信息
/*
参数:
  - parent: 对话框窗口的父窗口 
  - title: 对话框窗口显示的标题信息
  - label: 对话框窗口中显示的文本信息(用于描述对话框的功能)
  - mode: 指定单行编辑框中数据的反馈模式, 是一个 QLineEdit::EchoMode 类型的枚举值
    - QLineEdit::Normal: 显示输入的字符。这是默认值
    - QLineEdit::NoEcho: 不要展示任何东西。这可能适用于连密码长度都应该保密的密码。
    - QLineEdit::Password: 显示与平台相关的密码掩码字符,而不是实际输入的字符。
    - QLineEdit::PasswordEchoOnEdit: 在编辑时按输入显示字符,否则按密码显示字符。
  - text: 指定显示到单行输入框中的文本信息, 默认是空字符串
  - ok: 传出参数, 用于判断是否得到了有效数据, 一般不会使用该参数
  - flags: 对话框窗口的窗口属性, 使用默认值即可
  - inputMethodHints: 设置显示模式, 默认没有指定任何特殊显示格式, 显示普通文本字符串
     - 如果有特殊需求, 可以参数帮助文档进行相关设置
*/
[static] QString QInputDialog::getText(
    		QWidget *parent, const QString &title, const QString &label,
    		QLineEdit::EchoMode mode = QLineEdit::Normal, 
    		const QString &text = QString(), bool *ok = nullptr, 
    		Qt::WindowFlags flags = Qt::WindowFlags(), 
    		Qt::InputMethodHints inputMethodHints = Qt::ImhNone);

简单使用方式

void MainWindow::on_input_clicked()
{
    bool ok;
    double val1;
    val1 = QInputDialog::getDouble(
                this, "输入对话框",
                "请输入数值: ", 0,
                -2147483647, 2147483647,
                1, &ok
               );
    qDebug()<<"显示是否成功输入: "<<ok;
    qDebug()<<"输入的数值为: "<<val1;
}

void MainWindow::on_input2_clicked()
{
    bool ok;
    int val1;
    val1 = QInputDialog::getInt(
                this, "输入对话框",
                "请输入整数数值", 0,
                -2147483647, 2147483647,
                2, &ok
                );
    qDebug()<<"显示是否成功输入: "<<ok;
    qDebug()<<"输入的数值为: "<<val1;
}

void MainWindow::on_input3_clicked()
{
    bool ok;
    QString val1;
    QStringList list1 = {"小明","小红","小军"};
    val1 = QInputDialog::getItem(
                this, "输入对话框",
                "请输入字符数值", list1,
                0, true, &ok,Qt::WindowFlags(),
                Qt::ImhNone);
    qDebug()<<"显示是否成功输入: "<<ok;
    qDebug()<<"输入的字符串为: "<<val1;
}

QInputDialog_第1张图片
第一个:
QInputDialog_第2张图片

在这里插入图片描述

第二个:
QInputDialog_第3张图片
在这里插入图片描述

第三个:
QInputDialog_第4张图片
在这里插入图片描述

void MainWindow::on_input4_clicked()
{
    bool ok;
    QString val1;
    val1 =  QInputDialog::getMultiLineText(
                this, "标题栏", "多行显示对话框",
                "多行显示文本信息", &ok,
                Qt::WindowFlags(),
                Qt::ImhNone);
    qDebug()<<"显示是否成功输入: "<<ok;
    qDebug()<<"输入的字符串为: "<<val1;
}

void MainWindow::on_input5_clicked()
{
    bool ok;
    QString val1;
    val1 = QInputDialog::getText(
                this, "标题栏", "单行信息对话框窗口",
                QLineEdit::NoEcho,
                "请输入内容", &ok,
                Qt::WindowFlags(),
                Qt::ImhNone);
    qDebug()<<"显示是否成功输入: "<<ok;
    qDebug()<<"输入的字符串为: "<<val1;
}

QInputDialog_第5张图片
第4个
QInputDialog_第6张图片
在这里插入图片描述
第5个
QInputDialog_第7张图片
在这里插入图片描述

你可能感兴趣的:(Qt开发,qt)