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

来源:互联网 发布:淘宝米蘭密码断码地带 编辑:程序博客网 时间:2024/05/08 09:09

常用的对话框:

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


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


 


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

源文件:

  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. }  

0 0
原创粉丝点击