qt exec 跟show的区别

2023-11-10

1、要理清两个函数的区别,首先需要理解窗口模式:

模式窗口:窗口会原地阻塞,只能操作该窗口,其余窗口不能再操作;只有关闭该窗口后,代码处才会获得返回值,阻塞停止,就可以操作其它界面了;
半模式窗口:窗口会原地伪阻塞,虽然也是只能操作该窗口,其余窗口不能再操作,但是代码会继续往下运行,所以说是伪阻塞;
非模式窗口:窗口不会阻塞,可以随意操作;
2、exec()和show()的区别
exec()一般用于子窗口界面,在执行完后就会析构掉子窗口,不会占用系统资源。show()一般是用于与主窗口同步显示的界面。会跟主窗口同时存在。
QDialog* Dlg = new QDialog(this); Dlg->exec(); 模式窗口
QDialog* Dlg = new QDialog(this); Dlg->setModal(true); Dlg->show(); 半模式窗口
QDialog* Dlg = new QDialog(this); Dlg->show(); 非模式窗口

3、如何使用
qt 类中继承:public QDialog即可用exec()函数。
以下两组代码都会出现dlg窗口,但代码1是执行完show()后,会回到主界面执行,而代码2会阻塞到exec()函数上,执行窗口的事件,等待dlg窗口调用close()才会退出此函数。

    myDlg *Dlg =new myDlg(this);
    Dlg->show();

    myDlg Dlg(this);
    Dlg.exec();




 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qt exec 跟show的区别 的相关文章

  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 如何在qt中进行异步文件io?

    我想知道如何在qt中实现异步文件io 这在普通的 qt 中是否可以实现 或者有人需要使用另一个库 例如 libuv 来实现这样的事情 我正在查看 QDataStream 但即使它是一个 流 它也不是非阻塞的 我想一种解决方案是制作一个在内部
  • 如何为 qmlRegisterSingletonType 实现单例提供程序?

    我想在 QML 中使用 C 类作为 Singleton 实例 并认为我必须使用 qmlRegisterSingletonType 注册它们 此函数需要一个提供已注册 C 类的实例的函数 我在 Windows 上使用最新的 Qt 5 3 1
  • PyQt - 如何从给定的小部件获取顶级父级?

    给定的小部件如何访问它最旧的父级 即顶级小部件 我需要 showMinimized it 现在我正在使用 self parent parent parent showMinimized 但这似乎不是最好的方法 如果它移动了 我需要手动更改父
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • new 运算符(以及 malloc)无法分配约 450 MB 的内存 [重复]

    这个问题在这里已经有答案了 我正在开发一个程序 该程序在内存中存储大约 2 2 亿个短值的数组 该数据块的分配方式如下 short arrayName new short SIZE OF ARRAY 然后将文件的内容读入内存 在团队中的另一
  • QMutex 是否需要是静态的,以便此类实例的其他线程调用知道暂停其操作?

    从多个线程调用以下附加函数 我不希望数据重写附加 因为计数器尚未增加 除了当前使用 Append 的线程之外 这是否会挂起所有进入的线程 或者其他线程会继续运行而不追加数据吗 互斥锁是否需要是 静态 的 或者每个实例都知道要暂停操作吗 如果
  • 使用 CMake 编译时更改头文件位置会导致缺少 vtable 错误

    对于一个大型 C 项目 我需要从 qmake 过渡到 CMake 但是在处理一个玩具示例时 我遇到了一些我不理解的行为 示例代码具有单个头文件 当该头文件移动到子目录中时 我收到 MainWindow 类缺少 vtable 的错误 CMak
  • 清除pyqt中布局中的所有小部件

    有没有办法清除 删除 布局中的所有小部件 self plot layout QtGui QGridLayout self plot layout setGeometry QtCore QRect 200 200 200 200 self r
  • QMainWindow 上的 Qt 布局

    我设计了一个QMainWindow with QtCreator s设计师 它由默认的中央小部件 aQWidget 其中包含一个QVBoxLayout以及其中的所有其他小部件 现在我想要的一切就是QVBoxLayout自动占据整个中央小部件
  • 如何声明一个带有成员函数指针的函数

    我有一个类 其中的成员变量指向库对象 class myClassA private libraryClass libraryObject 该库类发出事件 以字符串为特征 并提供一种机制 允许客户端类指定在发出事件时应调用的成员函数 因此在m
  • 在 Qt 中使用多个不同的流读取同一文件

    使用 Qt 是否可以使用多个流读取文件以同时访问其中的不同数据部分 请注意 Qt 中的流 QTextStream QDataStream 不处理底层设备中的位置 流类只是一个包装器 用于更轻松地解析设备 QFile 实例 内的二进制数据 因
  • 是否有 Qt 小部件可以浏览应用程序中小部件的层次结构(类似于 Spy++)?

    我们有一个具有复杂的小部件层次结构的应用程序 我希望能够以与 Spy 类似的方式浏览此层次结构 查看和编辑属性 例如大小 如果有一个小部件可以显示此信息 则它不需要在外部应用程序中运行 那么问题来了 这样的神兽存在吗 您可以使用Gammar
  • Qt 5.1.1 与 Visual Studio 2012 - 这些 QT 版本无法访问

    打开 Visual Studio 时出现此错误 我安装自http qt project org downloads http qt project org downloads 适用于 Windows 64 位的 Qt 5 1 1 VS 20
  • 如何将自定义 Qt 类型与 QML 信号一起使用?

    我在 Qt 5 2 qml 应用程序中创建了一个自定义类型 class Setting public QObject Q OBJECT Q PROPERTY QString key READ key WRITE setKey Q PROPE
  • PyQt4 信号和槽

    我正在使用 PyQt4 编写我的第一个 Python 应用程序 我有一个 MainWindow 和一个 Dialog 类 它是 MainWindow 类的一部分 self loginDialog LoginDialog 我使用插槽和信号 这
  • 即使我在单独的线程中运行,QT GUI 也会冻结

    我有一个小型聊天应用程序 其中使用 SQLite 数据库来存储所有对话 我注意到该应用程序随机冻结 然后我必须最小化和最大化它才能使其再次工作 我认为问题可能是 SQLite 选择 插入导致 gui 冻结 我决定尝试将所有 SQLite 方
  • QFileSystemModel setRootPath

    我正在尝试创建一个 Qt 应用程序来显示文件夹 Mac OS 中的 Users 文件夹 的内容 这是代码 QFileSystemModel dirModel new QFileSystemModel dirModel gt setRootP
  • QML 列表视图拖放

    我想创建两个 qml 列表视图 可以执行两个功能 拖放一个列表中的项目以更改项目的顺序 跨列表拖放项目 项目将从一个列表中删除并添加到另一个列表中 根据 Qt 文档中的拖放示例 我决定创建两个访问同一列表模型的列表视图 列表模型中的每个项目
  • 为什么 QT 设计器重新调整大小或不允许我缩小或展开小部件或按钮?

    很多时候 在使用 QT 设计器时 我发现自己需要通过缩小或扩展来调整事物的大小 每当我尝试这样做时 程序都不允许我这样做 而只是恢复到将对象放置在窗口中时给我的原始默认大小 无论我的布局如何 为什么要这样做 是否有可能改变这一点 以便我可以

随机推荐

  • Nginx HTTPS实践

    Nginx HTTPS实践 文章目录 Nginx HTTPS实践 1 HTTPS基本概述 1 1 为何需要HTTPS 1 2 什么是HTTPS 1 3 TLS如何实现加密 2 HTTPS实现原理 2 1 加密模型 对称加密 2 2 加密模型
  • 用matlab编程实现对图像的均值滤波,中值滤波和拉普拉斯算子锐化

    1 均值滤波 均值滤波 用包含在滤波掩模邻域内的像素的平均灰度值去代替每个像素点的值 用途 用于模糊处理和减少噪声 盒滤波器 加权平均滤波器 均值滤波 clc close all clear all I rgb2gray imread fi
  • java编程练习

    package HomeWork05 import java util Scanner public class HomeWork05 public static void main String args Scanner sc new S
  • PAMI19 - 强大的级联RCNN架构《Cascade R-CNN: High Quality Object Detection and Instance Segmentation》

    文章目录 原文 初识 相知 Challenge to High Quality Detection Cascade RCNN 与相似工作的异同 扩展到实例分割 回顾 参考 原文 https arxiv org pdf 1906 09756
  • springboot框架中使用websocket传输内容过长的问题解决

    很多业务中使用websocket进行前后台的长连接 一般情况下用作及时性消息推送等 而一旦传输内容过长 例如传输一些图片音频的base64编码之类的 很容易出现过长问题 甚至不提示问题直接截断乃至丢失数据 解决方法如下 很多人网上查阅方法会
  • 【算法 -- LeetCode】(026)删除有序数组中的重复项

    1 题目 给你一个 升序排列 的数组 nums 请你 原地 删除重复出现的元素 使每个元素 只出现一次 返回删除后数组的新长度 元素的 相对顺序 应该保持 一致 然后返回 nums 中唯一元素的个数 考虑 nums 的唯一元素的数量为 k
  • CORDIC算法详解及FPGA实现

    CORDIC算法详解 1 平面坐标系旋转 CORDIC算法的思想是通过迭代的方法 使得累计旋转过的角度的和无限接近目标角度 它是一种数值计算逼近的方法 运算只有移位和加减 通过圆坐标系可以了解CORDIC算法的基本思想 如图1所示 初始向量
  • 线边仓

    SAP线边库管理 是又叫WIP仓 或叫线上仓 举例来说 一卷线材 总长303米 工单需用100米 于是发料发出303米 也就是一卷 其中100米上生产线 另外203米进入这个WIP仓 下次领料直接从WIP仓发出去 管控非常到位 具体操作就要
  • 11月20日 作业3 生命药剂,角色蓝图修改

    具体太麻烦了 我直接贴代码了 SPowerUp Actor h Fill out your copyright notice in the Description page of Project Settings pragma once i
  • 录屏没有声音?录制声音,3招教你搞定

    在录制屏幕内容时 声音是不可或缺的要素之一 可以有效地增强录制视频的表现力和传达效果 然而 有时候可能会遇到录屏没有声音的情况 这可能会让录制的视频失去一部分重要信息 本文将为您介绍录屏录声音的3种方法 帮助您解决录屏没有声音的问题 实现高
  • esp和ebp详解

    我的理解 国外一个比较好的汇编网站 http www tenouk com Bufferoverflowc Bufferoverflow1b html http blog sina com cn s blog c3bab4650101ogf
  • Python游戏开发入门3 Pygame屏幕绘制机制

    目录 屏幕控制 幕控制需求 幕控制的重要函数 幕模式函数 幕设置为大小可调 幕设置为全屏 幕信息函数 小游戏 伸缩型 屏幕控制 幕控制需求 幕控制的重要函数 幕模式函数 pygame display set mode r 0 0 flags
  • 【Python】bokeh画图工具库

    bokeh是python中一款基于网页的画图工具库 画出的图像以html格式保存 https blog csdn net tankloverainbow article details 80442289
  • java web期末复习_JAVAWEB期末复习题库

    JAVAWEB期末复习题库 javaweb期末复习题库 jsp Servlet 1 当访问一个Servlet时 以下Servlet中的哪个方法先被执行 D A destroy B doGet C service D init0 2 假设在m
  • [rt-thread nano] 添加串口rt-printf打印

    硬件 gd32f303 宏定义 定义宏定义 define RT USING CONSOLE define RT USING DEVICE define RT CONSOLE DEVICE NAME uart1 输出 ifdef RT USI
  • MySQL链接错误

    com mysql jdbc exceptions jdbc4 CommunicationsException Communications link failure package com spark import java sql Co
  • hdu 5818 Joint Stacks 2016 Multi-University 7

    Problem acm hdu edu cn showproblem php pid 5818 官方题解 bestcoder hdu edu cn blog 2016 multi university training contest 7
  • error:Target dll has been cancelled.debugger aborted

    MDK4 23调试裸机程序 出现这个问题先记下 以前成功调试过的 这次用又不会了 找一下以前的文章 今天开始摸索MDK高版本调试S3C2440裸机程序 3 4版本的实质上是借用Jlink的软件JLinkARM dll和JLinkRDI dl
  • org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here

    在springCloud网关启动时报了这样一个错 大概意思是 映射不允许在这 最后发现时yml文件里 处id uri predicates 以及filter没有对齐 他们是同级的 报这个错一般是配置文件里路由没配置好
  • qt exec 跟show的区别

    1 要理清两个函数的区别 首先需要理解窗口模式 模式窗口 窗口会原地阻塞 只能操作该窗口 其余窗口不能再操作 只有关闭该窗口后 代码处才会获得返回值 阻塞停止 就可以操作其它界面了 半模式窗口 窗口会原地伪阻塞 虽然也是只能操作该窗口 其余