19.QT对话框(文件对话框,颜色对话框,字体框,自定义对话框)

  • 文件对话框 
    #include<QFileDialog>
    1 //文件对话框
    2 void Dialog::on_pushButton_clicked()
    3 {
    4     //定义显示文件的类型                                 窗口标题              可供选择的类型
    5     QString qstr = QFileDialog::getOpenFileName(this,"这是窗口标题","/"," (*.wmv)::(*.cpp) ");
    6     //QString qstr = QFileDialog::getOpenFileName(this,"*.*");
    7     ui->lineEdit->setText(qstr);
    8 }
  • 颜色对话框
    #include <QColorDialog>
    1 void Dialog::on_pushButton_2_clicked()
    2 {
    3     QColor cl = QColorDialog::getColor(Qt::yellow);
    4     QPalette pale(cl);//颜色的载体
    5 
    6     this->setPalette(pale);
    7 }
  • 字体对话框
    #include <QFontDialog>
    1 void Dialog::on_pushButton_3_clicked()
    2 {
    3     bool isok;
    4     QFont qf = QFontDialog::getFont(&isok);
    5     if(isok)
    6     {
    7         ui->label->setFont(qf);
    8     }
    9 }
  • 显示提示对话框
    #include <QMessageBox>
    1 void Dialog::on_pushButton_4_clicked()
    2 {
    3 //    QMessageBox *cs = new QMessageBox;
    4 //    cs->show();
    5 
    6     QMessageBox::warning(this,"hello1","hello2");
    7 
    8 }
  • 显示自定义对话框

添加新的ui ,创建ui然后传递数据

 1 void Dialog::on_pushButton_5_clicked()
 2 {
 3     Newdialog *p = new Newdialog;
 4     //设置模态
 5     p->setModal(true);
 6     //显示
 7     p->show();
 8     //中断
 9     p->exec();
10     ui->label->setText(p->str);
11     delete p;
12 }
  • newdialog.h
     1 #ifndef NEWDIALOG_H
     2 #define NEWDIALOG_H
     3 
     4 #include <QDialog>
     5 
     6 namespace Ui {
     7 class Newdialog;
     8 }
     9 
    10 class Newdialog : public QDialog
    11 {
    12     Q_OBJECT
    13 
    14 public:
    15     explicit Newdialog(QWidget *parent = 0);
    16     ~Newdialog();
    17     QString str;
    18 
    19 private slots:
    20     void on_pushButton_clicked();
    21 
    22 private:
    23     Ui::Newdialog *ui;
    24 };
    25 
    26 #endif // NEWDIALOG_H
  • newdialog.cpp
     1 #include "newdialog.h"
     2 #include "ui_newdialog.h"
     3 #include <QDebug>
     4 
     5 Newdialog::Newdialog(QWidget *parent) :
     6     QDialog(parent),
     7     ui(new Ui::Newdialog)
     8 {
     9     ui->setupUi(this);
    10 }
    11 
    12 Newdialog::~Newdialog()
    13 {
    14     delete ui;
    15 }
    16 
    17 void Newdialog::on_pushButton_clicked()
    18 {
    19     this->str = ui->lineEdit2->text();
    20     qDebug() << str << endl;
    21     this->close();
    22 }
原文地址:https://www.cnblogs.com/xiaochi/p/8748352.html