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 }

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM