博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Qt模态对话框和非模态对话框
阅读量:4325 次
发布时间:2019-06-06

本文共 630 字,大约阅读时间需要 2 分钟。

1、模态对话框
(1)要想使一个对话框成为模态对话框,只需要条用它的exec()函数。
QDialog dialog(this);
dialog.exec();
(2)show()函数建立模态对话框,调用函数setModal(true)函数即可。
QDialog *dialog = new QDialog(this);
dialog->setModel(true);
dialog->show();
总结:setModel()与用exec()函数时的效果是不一样的,调用show()函数后会立刻把控制权交给调用者,程序可以继续往下执行;
而调用exec()函数,只有当对话框关闭时才会有返回值。
2、非模态对话框
(1)要想使一个对话框成为非模态对话框,使用new动态创建。
QDialog *dialog = new QDialog(this);
dialog->show();
setWindowModality()函数,有一个参数设置模态对话框要阻塞的窗口类型,可以是Qt::NonModal(不阻塞任何窗口,几非模态)、
Qt::WindowModel(阻塞它的父窗口和所有的祖先窗口及他们的子窗口)、Qt::ApplicationModel(阻塞整个应用程序的窗口)三者之一,
setModel()函数默认的是Qt::ApplicationModel.

转载于:https://www.cnblogs.com/huiz/p/9610696.html

你可能感兴趣的文章
css3 背景透明
查看>>
Android适配API23之后权限的动态申请
查看>>
[operator]ELK6 index pattern的问题
查看>>
Zabbix监控DB,Tomcat
查看>>
Python学习(2 数据运算)
查看>>
87.在ModelSim中添加Xilinx ISE仿真库
查看>>
配置django项目总结 + 思维导图
查看>>
xadmin后台管理
查看>>
GO -- 一个经验
查看>>
CI框架在 nginx 服务器上配置 rewrite 去掉 index.php 的方法:
查看>>
《每日一博》——学习php
查看>>
custom.js
查看>>
Centos 7 中 QT出现QSqlDatabase: MYSQL driver not loaded
查看>>
在 IBM RAD 平台上基于 JAX-WS 开发 Web Services服务器端,客户端
查看>>
利用forwardInvocation实现消息重定向
查看>>
自定义维度与指标
查看>>
跟我一起玩Win32开发(13):握手对话框
查看>>
C#调用C/C++动态库 封送结构体,结构体数组
查看>>
ASP.NET MVC WebAPI 从入门到精通 (二)– 客户端和WebService之间文件传输
查看>>
卸载LabVIEW及其模块的方法
查看>>