输入对话框QInputDialog
QInputDialog
是 Qt 内置的一个输入对话框,可以弹出一个整型、浮动型或条目对话框,供用户选择并将返回值作为结果。
函数声明:
//整型输入对话框
int 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());//浮动型输入对话框
double 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())//条目输入对话框
QString 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)
value
是用户取消输入后的返回值,如果不希望它是 0
需要自己设置。
使用QInputDialog弹出三种输入对话框
条目对话框的 QStringList
是 Qt 提供的一个字符串链表容器,里面的每一个元素都是一个 QString
。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QInputDialog>
#include <QDebug>
#include <QStringList>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{int i =QInputDialog::getInt(this,"整型输入对话框","请输入一个整数");qDebug()<<i;
}void MainWindow::on_pushButton_2_clicked()
{double d =QInputDialog::getDouble(this,"浮点型输入对话框","请输入一个小数");qDebug()<<d;
}void MainWindow::on_pushButton_3_clicked()
{QStringList items;items.push_back("aaa");items.push_back("bbb");items.push_back("ccc");QString item =QInputDialog::getItem(this,"条目输入对话框","请输入一个条目",items);qDebug()<<item;
}