常用的对话框:
QFileDialog,QColorDialog,QFontDialog,QInputDialog,QMessageDialog以及自定义对话框。
这里只做了输入对话框的,其他类似。
这次使用了ui设计界面设计的Dialog,没有使用纯代码。所以只写相应的槽函数即可
源文件:
- #include "dialog.h"
- #include "ui_dialog.h"
- #include <QInputDialog>
- #include <QStringList>
- #include <QString>
- Dialog::Dialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::Dialog)
- {
- ui->setupUi(this);
- }
- Dialog::~Dialog()
- {
- delete ui;
- }
- void Dialog::on_nameBtn_clicked()
- {
- bool ok;
- QString name=QInputDialog::getText(this,tr("标准输入对话框"),tr("请输入姓名:"),
- QLineEdit::Normal,ui->name->text(),&ok);
- if(ok&&!name.isEmpty())
- ui->name->setText(name);
- }
- void Dialog::on_sexBtn_clicked()
- {
- QStringList SexList;
- // SexList<<tr("男")<<tr("女");
- bool ok;
- QString SexItem=QInputDialog::getItem(this,tr("标准条目选择对话框"),tr("请选择性别:"),
- SexList,0,false,&ok);
- if(ok&&!SexItem.isEmpty())
- ui->sex->setText(SexItem);
- }
- void Dialog::on_ageBtn_clicked()
- {
- bool ok;
- int ageInt=QInputDialog::getInt(this,tr("标准整数输入对话框"),tr("请输入年龄:"),
- ui->age->text().toInt(&ok),1,200,1,&ok);
- if(ok)
- ui->age->setText(QString(tr("%1")).arg(ageInt));
- }
- void Dialog::on_gradeBtn_clicked()
- {
- bool ok;
- double score=QInputDialog::getDouble(this,tr("标准浮点数输入对话框"),tr("请输入成绩:"),
- ui->grade->text().toDouble(&ok),1,100,1,&ok);
- if(ok)
- ui->grade->setText(QString(tr("%1")).arg(score));
- }
- #include "dialog.h"
- #include "ui_dialog.h"
- #include <QInputDialog>
- #include <QStringList>
- #include <QString>
- Dialog::Dialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::Dialog)
- {
- ui->setupUi(this);
- }
- Dialog::~Dialog()
- {
- delete ui;
- }
- void Dialog::on_nameBtn_clicked()
- {
- bool ok;
- QString name=QInputDialog::getText(this,tr("标准输入对话框"),tr("请输入姓名:"),
- QLineEdit::Normal,ui->name->text(),&ok);
- if(ok&&!name.isEmpty())
- ui->name->setText(name);
- }
- void Dialog::on_sexBtn_clicked()
- {
- QStringList SexList;
- // SexList<<tr("男")<<tr("女");
- bool ok;
- QString SexItem=QInputDialog::getItem(this,tr("标准条目选择对话框"),tr("请选择性别:"),
- SexList,0,false,&ok);
- if(ok&&!SexItem.isEmpty())
- ui->sex->setText(SexItem);
- }
- void Dialog::on_ageBtn_clicked()
- {
- bool ok;
- int ageInt=QInputDialog::getInt(this,tr("标准整数输入对话框"),tr("请输入年龄:"),
- ui->age->text().toInt(&ok),1,200,1,&ok);
- if(ok)
- ui->age->setText(QString(tr("%1")).arg(ageInt));
- }
- void Dialog::on_gradeBtn_clicked()
- {
- bool ok;
- double score=QInputDialog::getDouble(this,tr("标准浮点数输入对话框"),tr("请输入成绩:"),
- ui->grade->text().toDouble(&ok),1,100,1,&ok);
- if(ok)
- ui->grade->setText(QString(tr("%1")).arg(score));
- }

