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

 

常用的对话框:

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


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

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

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


这次使用了ui设计界面设计的Dialog,没有使用纯代码。所以只写相应的槽函数即可

源文件:

view plain copy to clipboard print ?
  1. #include "dialog.h"   
  2. #include "ui_dialog.h"   
  3. #include <QInputDialog>   
  4. #include <QStringList>   
  5. #include <QString>   
  6. Dialog::Dialog(QWidget *parent) :  
  7.     QDialog(parent),  
  8.     ui(new Ui::Dialog)  
  9. {  
  10.     ui->setupUi(this);  
  11. }  
  12.   
  13. Dialog::~Dialog()  
  14. {  
  15.     delete ui;  
  16. }  
  17.   
  18. void Dialog::on_nameBtn_clicked()  
  19. {  
  20.     bool ok;  
  21.     QString name=QInputDialog::getText(this,tr("标准输入对话框"),tr("请输入姓名:"),  
  22.                                        QLineEdit::Normal,ui->name->text(),&ok);  
  23.     if(ok&&!name.isEmpty())  
  24.         ui->name->setText(name);  
  25. }  
  26.   
  27. void Dialog::on_sexBtn_clicked()  
  28. {  
  29.     QStringList SexList;  
  30. //    SexList<<tr("男")<<tr("女");   
  31.     bool ok;  
  32.     QString SexItem=QInputDialog::getItem(this,tr("标准条目选择对话框"),tr("请选择性别:"),  
  33.                                           SexList,0,false,&ok);  
  34.     if(ok&&!SexItem.isEmpty())  
  35.         ui->sex->setText(SexItem);  
  36. }  
  37.   
  38. void Dialog::on_ageBtn_clicked()  
  39. {  
  40.     bool ok;  
  41.     int ageInt=QInputDialog::getInt(this,tr("标准整数输入对话框"),tr("请输入年龄:"),  
  42.                                  ui->age->text().toInt(&ok),1,200,1,&ok);  
  43.     if(ok)  
  44.         ui->age->setText(QString(tr("%1")).arg(ageInt));  
  45. }  
  46.   
  47. void Dialog::on_gradeBtn_clicked()  
  48. {  
  49.     bool ok;  
  50.     double score=QInputDialog::getDouble(this,tr("标准浮点数输入对话框"),tr("请输入成绩:"),  
  51.                                  ui->grade->text().toDouble(&ok),1,100,1,&ok);  
  52.     if(ok)  
  53.         ui->grade->setText(QString(tr("%1")).arg(score));  
  54. }  
#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)