当前位置: 首页> 财经> 金融 > 在线ppt网站_武汉大学人民医院汉南医院_郑州网站seo推广_百度快照是什么意思

在线ppt网站_武汉大学人民医院汉南医院_郑州网站seo推广_百度快照是什么意思

时间:2025/7/11 10:50:02来源:https://blog.csdn.net/m0_38039437/article/details/143617865 浏览次数:0次
在线ppt网站_武汉大学人民医院汉南医院_郑州网站seo推广_百度快照是什么意思

QT模态对话框和非模态对话框区别以及常用标准对话框

1.概述

这篇文章介绍下对话框的分类,它分为模态对话框和非模态对话框。
模态对话框:打开对话框后,不能操作其他窗口
非模态对话框:打开对话框后,可以操作其他窗口

2.模态和非模态对话框示例

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDialog>
#include <QDebug>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);///*点击新建按钮弹出一个对话框* 对话框分为*      模态对话框: 对话框打开后,不可以操作其他窗口*      非模态对话框: 对话框打开后,可以操作其他窗口*/connect(ui->actionnew, &QAction::triggered,[=](){
//        模态对话框创建QDialog dlg(this);dlg.resize(300,200);
//        dlg.exec();qDebug() << "模态对话框弹出";//        非模态对话框创建// 将对话框对象创建在栈上,因为它不是阻塞的,改行代码运行结束后栈内存就回收了,所以看不到弹出的对话框QDialog dlg2(this);dlg2.resize(300,200);
//        dlg.show();//将对话框对象创建在堆上,就可以看到对话框。QDialog * dlg3 = new QDialog(this);/** 创建在对上的对象只有在关闭QWidget窗口时才会回收堆内存对象,如果没有关闭QWidget窗口,一直点击新建再关闭对话框会造成内存泄漏。* 使用setAttribute(Qt::WA_DeleteOnClose) 属性可以设置关闭对话框就释放堆内存上的对话框对象。*/dlg3->setAttribute(Qt::WA_DeleteOnClose);dlg3->show();});}MainWindow::~MainWindow()
{delete ui;
}

3.标准对话框

#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(this);dlg.resize(300,200);
//        dlg.exec();qDebug() << "模态对话框弹出";//        非模态对话框创建// 将对话框对象创建在栈上,因为它不是阻塞的,改行代码运行结束后栈内存就回收了,所以看不到弹出的对话框QDialog dlg2(this);dlg2.resize(300,200);
//        dlg.show();//将对话框对象创建在堆上,就可以看到对话框。QDialog * dlg3 = new QDialog(this);/** 创建在对上的对象只有在关闭QWidget窗口时才会回收堆内存对象,如果没有关闭QWidget窗口,一直点击新建再关闭对话框会造成内存泄漏。* 使用setAttribute(Qt::WA_DeleteOnClose) 属性可以设置关闭对话框就释放堆内存上的对话框对象。*/dlg3->setAttribute(Qt::WA_DeleteOnClose);
//        dlg3->show();});//    标准消息框
//    错误提示框QMessageBox::critical(this,"错误提示框","错误");//    消息框QMessageBox::information(this,"消息","消息提示框");//    警告对话框QMessageBox::warning(this,"警告","警告内容");//    提问框/** 参数说明:* 参数1:QWidget 对象* 参数2:标题* 参数3:内容* 参数4:对话框按钮名称* 参数5:设置默认对话框按钮*/QMessageBox::StandardButton status = QMessageBox::question(this,"提问","提问题",QMessageBox::Help|QMessageBox::Close,QMessageBox::Close);
//     判断用户点击了哪个按钮if(status == QMessageBox::Help){qDebug() << "点击了帮助";}else{qDebug() << "点击了取消";}//     颜色提示框QColor color = QColorDialog::getColor(QColor(255,0,0));qDebug() << "r" << color.red() << "g" << color.green() << "b" << color.blue();//     文件对话框
//     参数1:父类,参数2:标题,参数3:路径,参数4:过滤器显示指定内容
//     返回值是选择的路径QString file = QFileDialog::getOpenFileName(this,"打开文件","/Users/bruce/Downloads","*.png");qDebug() << "文件对话框:" << file;//     字体对话框bool flag;QFont font = QFontDialog::getFont(&flag,QFont("华文彩云", 36));qDebug() << "字体" << font.family() << "字号" << font.pointSize() << "是否加粗" << font.bold() << "是否倾斜" << font.italic();}MainWindow::~MainWindow()
{delete ui;
}
关键字:在线ppt网站_武汉大学人民医院汉南医院_郑州网站seo推广_百度快照是什么意思

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: