菜单栏新建一个选项 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();
});
}