1、设置属性

setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
setWindowModality(Qt::WindowModal);   

其中 Qt::Dialog 这个属性是要加的,因为这个属性会告诉 Qt 这个窗口是要被当做对话框对待的,从而实现模态的效果。

下面那个函数的参数有 3 种:

  • Qt::NonModal :该窗口不是模态,不会阻塞其它界面接受输入信息;
  • Qt::WindowModal:该窗口是一个当以层次的模态窗口,会阻塞它的父窗口、祖父窗口和各个兄弟窗口接受输入信息;
  • Qt::ApplicationModal:该窗口是应用模态窗口,会阻塞所有窗口接受输入信息。

一般用第二种就能够在弹出来的对话框中接收输入法信息。

2、父窗体将 this 指针传入模态框

弹出该模态窗体需要制定好父窗体,即:传入父窗体的 this 指针,这样 Qt 才能知道到底需要堵塞的父窗体是谁。

3、弹框的时机

由于需要提供父窗体的 this 指针,所以需要保证该父窗体是创建成功的,即:父窗体完成了构造函数的运行。如果在父窗体的构造函数中新建模态对话框,并传入 this 指针,此时 this 是无效的。

(SAW:Game Over!)

Qt / 模态对话框的实现相关推荐

  1. QT模态对话框及非模态对话框学习

    QT模态对话框及非模态对话框 模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在.又有叫法是称为模式对话框,无模式对 ...

  2. Qt模态对话框/非模态对话框/半模态对话框

    模态对话框 阻塞同一应用程序中其它可视窗口输入的对话框: 显示模态对话框最常见的方法是调用其exec()函数: #pragma execution_character_set("utf-8& ...

  3. Qt 模态对话框不模态的问题

    自定义对话框,通过函数this->setWindowFlags(Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint);设置了对话框的显示 ...

  4. QT中的模态对话框及非模态对话框

    模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在.又有叫法是称为模式对话框,无模式对话框等.所谓模态对话框就是在其 ...

  5. Qt中的模态对话框和非模态对话框

    模态对话框及非模态对话框(详情见课本P51). 模态对话框:在没有被关闭之前,用户不能与同一个应用程序的其他窗口进行交互,直到该对话框关闭. 非模态对话框:当被打开时,用户既可选择和该对话框进行交互, ...

  6. [Qt入门]模态和非模态对话框创建

    模态对话框创建: #include "mainwindow.h" #include "ui_mainwindow.h" #include<QDialog& ...

  7. qt设置模态对话框并设置对话框的位置

    引言 当对话框弹出的时候,其它的操作不能进行,这个对话框就是模态对话框,非模态对话框弹出的时候,其它的操作依旧可以做.以上就是通俗的理解模态对话框与非模态对话框.下面实现当模态对话框弹出的时候,设置弹 ...

  8. Qt——P20 模态和非模态对话框创建

    mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <Q ...

  9. 【Qt教程】1.10 - Qt5模态与非模态对话框( QDialog)

    1. 对话框简介 对话框简介:通常是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互. 对话框分为模态对话框和非模态对话框: 模态对话框,会阻塞同一应用程序中其他窗口的输入. 非模态 ...

最新文章

  1. 2018全球硬科技创新暨“一带一路”创新合作大会,这些硬科技都要来!
  2. 【错误记录】Flutter 界面跳转报错 ( Navigator operation requested with a context that does not include a Naviga )
  3. (三)构建模块——Web页面建设
  4. 17 redis -key设计原则
  5. pb9 调用系统语音_成都电销系统一个月多少钱_选择灵狐传媒_收费透明
  6. android bitmap 替换指定颜色,Android 实现把bitmap图片的某一部分的颜色改成其他颜色...
  7. java 读写mysql_Java读写MySQL数据库小实例
  8. AppScan 的安装+激活以及+漏扫dvwa,生成安全报告
  9. 【测试】一步步教你写一份优秀的软件测试简历
  10. 这款开源神器,让你能在 iPad 上随心所欲写代码!
  11. IAST与RASP精选文章汇总
  12. 倾斜摄影与三维实景建模技术设计书.PDF(文档可下载)
  13. poi操作word复制表格
  14. 华硕fx60vm拆机图解_华硕fx60vm安装macOS10.13.6和Windows10双系统
  15. JS(javascript)在自动化测试项目中的应用【软件测试开发入门教程】
  16. Android HTTP网络详解
  17. html+css+javascript满屏雪花爱心520表白网站 (含音乐)520告白/七夕情人节/生日礼物/程序员表白必备
  18. nginx配置别名与前后端根目录名关联
  19. js实现oss批量下载文件_jquery批量下载文件
  20. AutoSAR开发的三种方法:自上而下式、自下而上式、混合式

热门文章

  1. 允许java运行不安全或不可信的应用程序
  2. 是不是用博客园编辑器插入修改图片好困难?怀念Word吧,看看用Word2010发博客教程吧~...
  3. Spring中ApplicationContext加载机制和配置初始化
  4. sklearn数据集变换
  5. HTML用a标签出现404,404.html
  6. Vue3 核心技能从入门到难点攻破,看这一篇就够了!
  7. 2:IDEA生成springboot项目,修改启动图标和网页端口
  8. K8S部署hazelcast
  9. HBASE 2.2.6 永久REGION IN TRANSITION 异常解决
  10. Scala调用Java静态成员及静态方法注意点——只能通过当前类名调用而不能借助子类调用父类静态成员/方法