天天看點

Qt學習8——對話框

Qt學習8——對話框
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDialog"
#include "QDebug"
#include "QMessageBox"
#include "QColorDialog"
#include "QFileDialog"
#include "QFontDialog"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    connect(ui->actionnew,&QAction::triggered,[=](){
        //對話框分為模态對話框(不可以對其他視窗進行操作)和非模态對話框(可以對其他視窗進行操作)
        //模态對話框
//        QDialog *dlg=new QDialog(this);
//        dlg->resize(300,200);
//        dlg->exec();//阻塞
//        qDebug()<<"模态";


//        //非模态對話框
//        QDialog *dlg2=new QDialog(this);
//        dlg2->resize(300,200);
//        dlg2->show();
//        dlg2->setAttribute(Qt::WA_DeleteOnClose);
//        qDebug()<<"非模态";


        //消息對話框:
        //1.錯誤對話框
        //QMessageBox::critical(this,"critical","錯誤");
        //2.資訊對話框
        //QMessageBox::information(this,"info","資訊");
        //3.提問對話框  父類,對話框名字,對話框裡面的文字,按鍵的類型,預設關聯回車的按鍵
//        if(QMessageBox::Save==QMessageBox::question(this,"Qus","問題",QMessageBox::Save|QMessageBox::Cancel))
//        {
//            qDebug()<<"選擇的是儲存";
//        }
//        else
//        {
//            qDebug()<<"選擇的是取消";
//        }
        //4.警告對話框
//       QMessageBox::warning(this,"warn","警告");

        //其他标準對話框
        //顔色對話框
//        QColor color= QColorDialog::getColor(QColor(255,0,0));
//        qDebug()<<"r="<<color.red()<<"g="<<color.green()<<"b="<<color.blue();
        //檔案對話框
//        QString str= QFileDialog::getOpenFileName(this,"打開檔案","H:\\音樂","(*.txt)");//父,文本框标題,打開位置,過濾文檔
//        qDebug()<<str;//傳回值是選取的路徑
        //字型對話框
//        bool flag;
//        QFont font= QFontDialog::getFont(&flag,QFont("Script",36));
//        qDebug()<<"字型:"<<font.family().toUtf8().data()<<"字号:"<<font.pointSize()<<"是否加粗"<<font.bold()<<"是否傾斜"<<font.italic();//Qstring轉*char


    });
}

MainWindow::~MainWindow()
{
    delete ui;
}


           

繼續閱讀