Qt学习——基本对话框Q*Dialog类

常用的对话框:

QFileDialog,QColorDialog,QFontDialog,QInputDialog,QMessageDialog以及自定义对话框。


这里只做了输入对话框的,其他类似。

Qt学习——基本对话框Q*Dialog类_第1张图片

Qt学习——基本对话框Q*Dialog类_第2张图片 


这次使用了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));
}

Qt学习——基本对话框Q*Dialog类_第3张图片 Qt学习——基本对话框Q*Dialog类_第4张图片


你可能感兴趣的:(UI,delete,dialog,qt)