输入对话框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;
}