菜單欄建立一個選項 new -> actionnew(編譯器給的名字)
代碼 完成 點選建立彈出對話框
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDebug.h"
#include "QDialog"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//點選建立按鈕 彈出一個對話框
connect(ui->actionnew,&QAction::triggered,this,[=](){
QDialog dlg(this);
//建立模态對話框
// dlg.resize(200,100);
// dlg.exec();
//非模态對話框 必須在堆上申請記憶體,非模态對話框為非阻塞狀态.
//代碼會接着往下執行 棧上的局部變量會失去作用.
QDialog* dlg2=new QDialog(this);
dlg2->resize(200,100);
//設定屬性 當點選非模态對話框關閉按鈕時,銷毀對象記憶體.
//如果不設定這個值 使用者點選關閉後再點建立會一直在堆上建立記憶體,就會發生記憶體洩漏
dlg2->setAttribute(Qt::WA_DeleteOnClose);
dlg2->show();
});
}
标準對話框
QColorDialog :選擇顔色
QFileDialog :選擇檔案或者目錄
QFontDialog :選擇字型
QInputDialog :允許使用者輸入一個值,并将其值傳回
QMessageBox :子產品對話框,用于顯示資訊,詢問問題等
QPageSetupDialog :為列印機提供紙張相關的選項
QPrintDialog :列印機配置
QPrintPreiewDialog :列印預覽
QProgressDialog :顯示操作過程
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QDebug.h"
#include "QDialog"
#include "QMessageBox"
#include "qcolordialog.h"
#include "QFileDialog"
#include "QFontDialog"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//點選建立按鈕 彈出一個對話框
connect(ui->actionnew,&QAction::triggered,this,[=](){
//顔色對話框 通過顔色對話框獲得選擇的顔色
// QColor color=QColorDialog::getColor(QColor(255,0,0));
// qDebug()<<"r="<<color.red();
//
//檔案對話框
// QString fileName= QFileDialog::getOpenFileName(this, //父視窗
// "打開檔案", //對話框标題
// "./", //預設打開的目錄
// "(*.txt)" //過濾檔案類型
// );
// //QString類型要轉換成char* 來判斷
// if(strcmp(fileName.toUtf8().data(),"")!=0)
// {
// qDebug()<<"打開的檔案名是:"<<fileName;
// }
// else
// {
// qDebug()<<"點選了取消";
// }
//字型對話框
bool flag;
QFont font=QFontDialog::getFont(
&flag,
QFont("黑體",36)//預設打開屬性 預設 選中黑體
);
qDebug()<<"字型:"<<font.family();
});
}