QT界面窗口的显示和隐藏,关闭

2023-05-16

这里写目录标题

  • QT窗口的显示和隐藏:
    • 1、隐藏窗口
      • 1.1、介绍:
    • 2、显示窗口
      • 2.1、介绍:
    • 3、关闭窗口常用函数有:

QT窗口的显示和隐藏:

1、隐藏窗口

1. hide()
2. setVisible(false)
3. lower()
4. close()
5. hideEvent()

1.1、介绍:

1. hide()
	隐藏
	隐藏小部件。

	此函数等效于 setVisible(false)。

	注意:如果您正在使用 QDialog 或其子类并在此函数之后调用 show() 函数,则对话框将显示在其原始位置。
	
	
2. setVisible(false)
	设置是否可见
	true/false,真/假
	调用 setVisible(false) 或 hide() 显式隐藏小部件。

	一个显式隐藏的小部件永远不会变得可见,即使它的所有祖先都变得可见,除非你显示它。
	
	
3. lower()
	降低
	将小部件降低到父小部件堆栈的底部。

	在此调用之后,小部件将在视觉上位于任何重叠的兄弟小部件的后面(因此被遮挡)。
	
	
4. close()
	关闭
	
	关闭此小部件。

	如果小部件已关闭,则返回 true;否则返回假。

	首先,它向小部件发送一个 QCloseEvent。如果小部件接受关闭事件,则它会被隐藏。如果它忽略该事件,则不会发生任何事情。 QWidget::closeEvent() 的默认实现接受关闭事件。

	如果小部件具有 Qt::WA_DeleteOnClose(widget 属性,使用 void QWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)) 标志设置和清除,则小部件也会被删除。 (与 hide() 的区别)

	this->setAttribute(Qt::WA_DeleteOnCLose, true);
	
	无论小部件是否可见,都会将关闭事件传递给小部件。

	当具有 Qt::WA_QuitOnClose 属性集的最后一个可见主窗口(即没有父窗口)关闭时,会发出 QApplication::lastWindowClosed() 信号。默认情况下,为所有小部件设置此属性,但瞬态窗口除外,例如启动屏幕、工具窗口和弹出菜单。
			
			
5. hideEvent()
	隐藏事件
	当 Qt 从窗口系统接收到对顶级窗口部件的窗口关闭请求时,使用给定事件调用此事件处理程序。

	默认情况下,接受事件并关闭小部件。

	您可以重新实现此函数以更改小部件响应窗口关闭请求的方式。例如,您可以通过对所有事件调用 ignore() 来阻止窗口关闭。

2、显示窗口

1. show()
2. setVisible(true)
3. raise()
4. exec()
5. showEvent()

2.1、介绍:

1. show()
	显示
	显示小部件及其子小部件。

	这相当于调用 showFullScreen()、showMaximized() 或 setVisible(true),具体取决于平台对窗口标志的默认行为。
	
	
2. setVisible(true)
	设置是否可见
	true/false,真/假
	
	如果直到窗口的所有父小部件都可见,则调用 setVisible(true) 或 show() 将小部件设置为可见状态。

	如果祖先不可见,则小部件将在其所有祖先都显示之前不会变为可见。

	如果它的大小或位置发生了变化,Qt 保证一个小部件在它显示之前得到移动和调整大小事件。

	如果小部件尚未调整大小,Qt 将使用 adjustSize() 将小部件的大小调整为有用的默认值。

	碰巧被屏幕上的其他窗口遮挡的小部件被认为是可见的。

3. raise()
	提高
	
	将此小部件提升到父小部件堆栈的顶部。

	在此调用之后,小部件将在视觉上位于任何重叠的同级小部件的前面。

4. exec()
	int QDialog::exec()

	显示的只能是 模态窗口,且只要去关闭窗口,操作权会一直在该窗口,开启事件循环,用户关闭它之前一直处于阻塞状态。直到关闭该窗口。

	该函数返回一个 DialogCode 结果。

			QDialog::Accepted接受 1

			QDialog::Rejected拒绝 0
	1、如果对话框是应用程序模式,则用户在关闭对话框之前不能与同一应用程序中的任何其他窗口进行交互。

	2、如果对话框是窗口模式,则在对话框打开时仅阻止与父窗口的交互。

	3、默认情况下,对话框是应用程序模式。
	显示的只能是 模态窗口,且只要去关闭窗口,操作权会一直在该窗口,开启事件循环,直到关闭该窗口。
	
	
5. showEvent()
	显示事件
	
	此事件处理程序可以在子类中重新实现,以接收在事件参数中传递的小部件显示事件。

	非自发的显示事件在显示之前立即发送到小部件。

	窗口的自发展示事件随后交付。

	注意:当窗口系统更改其映射状态时,小部件会收到自发的显示和隐藏事件,例如 用户最小化窗口时的自发隐藏事件,以及再次恢复窗口时的自发显示事件。

	在收到一个自发的隐藏事件后,在 isVisible() 的意义上,一个小部件仍然被认为是可见的。

3、关闭窗口常用函数有:

1、accept()

void QDialog::accept()

该函数只隐藏窗口,并不删除窗口,并设置返回值为 Accepted接受。

2、reject()

void QDialog::reject()

该函数同样隐藏窗口,并返回值 Rejected拒绝。

3、done(int r)

void QDialog::done(int r)

关闭对话框并将其结果代码设置为 r。 如果此对话框与 exec() 一起显示,则 done() 会导致本地事件循环完成,并且 exec() 返回 r。

与 QWidget::close() 一样,如果设置了 Qt::WA_DeleteOnClose 标志,则 done() 会删除对话框。
如果对话框是应用程序的主要小部件,则应用程序终止。
如果对话框是最后一个关闭的窗口,则发出 QApplication::lastWindowClosed() 信号。


该函数 close 窗口,窗口会隐藏,是否删除取决于是否设置 Qt::WA_DeleteOnClose 。且该函数可以自己设置返回值。

这样可以利用返回值做出相应判断,如显示一个需要根据用户选择而决定下一步操作的对话框,如有三个选项:A, B, C,可以根据不同选择用 done() 函数设置不同返回值,从而进行不同处理。
	

4、setResult(int i)

void QDialog::setResult(int i)

将模态对话框的结果代码设置为 i。


5. showEvent()

[virtual protected] void QWidget::showEvent(QShowEvent *event)

此事件处理程序可以在子类中重新实现,以接收在事件参数中传递的小部件显示事件。

非自发的显示事件在显示之前立即发送到小部件。

窗口的自发展示事件随后交付。

注意:当窗口系统更改其映射状态时,小部件会收到自发的显示和隐藏事件,例如 用户最小化窗口时的自发隐藏事件,以及再次恢复窗口时的自发显示事件。

在收到一个自发的隐藏事件后,在 isVisible() 的意义上,一个小部件仍然被认为是可见的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT界面窗口的显示和隐藏,关闭 的相关文章

  • 二叉排序树详解及实现

    二叉排序树详解及实现 1 什么是二叉排序树2 二叉排序树的数据结构2 1二叉排序树的节点类型2 2二叉排序树中插入某个元素2 3 二叉排序树中按值查找元素2 4 找排序二叉树中的最小值2 5返回排序二叉树中ptr中序遍历的后续节点2 6 寻
  • 平衡二叉树的一系列操作:删除、插入(在二叉排序树中插入新结点后,如何保持平衡)、调整平衡等等等

    平衡二叉树的插入 xff08 在二叉排序树中插入新结点后 xff0c 如何保持平衡 xff09 1 平衡二叉树的定义2 平衡二叉树的插入 xff08 调整最小不平衡子树A xff09 2 1LL xff08 在A的左孩子的左子树中插入导致不
  • 网络 UDP协议(C++|代码通过udp协议实现客户端与服务端之间的通信)

    这里写目录标题 udp通信编程各端的操作流程 xff1a 服务端操作流程 xff1a 客户端操作流程 xff1a 第2 3步与服务端不同 socket接口介绍udp客户服务端代码实现 推荐阅读 socket套接字编程就是在网络程序中编写代码
  • 网络 TCP协议(C++代码|通过tcp协议实现客户端与服务端之间的通信)

    目录 TCP通信编程各端的操作流程 xff1a 服务端操作流程 xff1a 客户端操作流程 xff1a 推荐先学习UDP协议在学习TCP协议 在UDP协议博客中讲解得更详细 xff0c 看懂UDP协议就很容易理解TCP了 网络 UDP协议
  • Matlab学习-箱型图绘制

    1 箱型图简介 xff1a 参考链接 xff1a boxplot函数用法详解 箱型图简介 箱型图主要包括的数据有 xff1a 最大值 最小值 上四分位数 下四分位数和中位数 xff0c 以及异常值 2 箱型图绘制 X span class
  • Matlab学习-CDF(累积分布函数图)绘制

    累积分布函数图绘制 参考链接 xff1a 1 Matlab官方说明 2 参考链接 3 属性设置 CDF xff1a 累积分布函数图 xff0c 顾名思义就是能够直观的反应某组数列分布的概率情况 xff0c 能够非常直观的反应误差精度大小 图
  • Matlab学习-频率分布直方图绘制

    参考链接 xff1a hist xff08 xff09 函数用法 频率分布直方图 xff1a 在数理统计中 xff0c 会经常使用到频率分布直方图 xff0c 能够直观的反应频率分布的范围大小 xff0c 在直角坐标系中 xff0c 横轴为
  • Matlab学习-经纬度在matlab内置地图显示

    已知经纬度坐标 xff0c 将其显示是地图上 参考链接 xff1a 使用matlab绘制世界地图并根据经纬度绘制点位 附m map的下载与安装说明 wm span class token operator 61 span webmap sp
  • ARM存储格式的“大小端”解析

    ARM储存 大端格式和小端格式 所谓的大端模式 xff0c 是指数据的高位 xff0c 保存在内存的低地址中 xff0c 而数据的低位 xff0c 保存在内存的高地址中 xff0c 这样的存储模式有点儿类似于把数据当作字符串顺序处理 xff
  • UBLOX板卡基础设置--F9P板卡配置(基准站和流动站)

    UBLOX F9P板卡配置 基准站 流动站 UBX F9P模块为双频定位芯片 xff0c 是市场上目前最常用的高精定位模块 xff0c 差分定位精度可达厘米级 xff0c 具体参数详见官方文档 官方文档下载链接 xff1a UBX F9P模
  • GIT学习-常用命令

    2 GIT学习 常用命令 在学习git前首先需要对相关名词和概念有基本了解 xff0c git基础知识学习可参考以下资料 xff1a git基础知识 xff1a GIT学习 1 基础知识git下载与配置 xff1a GIT学习 xff08
  • ROS常用命令

    ROS常用命令 1 将话题数据单独导出 将话题数据单独导出为一个文件 rostopic echo b name name p topic name gt save file name ex rostopic echo b test bag
  • Linux常用命令

    Linux常用命令 1 查看电脑IP地址 ifconfig 2 远程连接其他电脑 xff0c 查看是否连接成功 ping IP address 3 通过IP地址远程连接电脑 ssh lcl 64 IP address 4 文件传输 4 1
  • opencv-3.4.1-x86编译安装 -- 超详细

    相关链接 xff1a opencv 3 4 1 arm编译安装 超详细 opencv 3 4 1 x86编译安装 环境1 安装依赖库2 OpenCV源码获取与解压2 1 获取源码2 2 工作目录准备2 3 解压 3 OpenCV配置编译3
  • Qt编程之单例模式——代码复用,一个类供多个类调用

    什么是单例模式 单例模式是一种对象创建模式 xff0c 用于生产一个对象的实例 xff0c 它可以确保系统中一个类只产生一个实例 xff0c 这样做有两个好处 xff1a 1 对于频繁使用的对象 xff0c 可以省略创建对象所花费的时间 x
  • STM32串口数据接收处理,数据分割为整形浮点型数据。

    简介 通过stm32的串口接收数据 xff0c 通过strstr函数分割数据 xff0c 再将字符数据转化为整形数据或浮点数据 比如 xff1a stm32接收到数据 s555s xff0c 分割数据为 555 xff0c 然后转化为int
  • 抛出异常时将异常信息返给前端

    全局异常处理器负责将抛出的异常 xff0c 以统一的格式返给前端 在这里起主要作用的注解是 64 RestControllerAdvice 64 RestControllerAdvice主要配合 64 ExceptionHandler使用
  • 关于入栈和出栈的理解

    关于入栈和出栈的理解 xff1a 假设程序在运行 xff0c 这个时候就会涉及到下面要说到的几个核心的寄存器 xff08 对栈进行操作 xff09 就是PC寄存器 xff08 为了能够准确地记录各个线程正在执行的当前字节码指令地址 xff0
  • 原生 css 实现进度条

    方案一 xff1a 通过data控制它的样式 1 首先搭建dom结构 lt div class 61 34 home left top content div 34 v for 61 34 item index in PowerAAcces
  • 实现开发板、电脑(无线网卡)与虚拟机三者通过网络连接(三者都可以上外网)

    借鉴文章 xff1a https blog csdn net dongtaintailiang article details 106314689 spm 61 1001 2014 3001 5501 因为项目需要 xff0c 找到这篇文章

随机推荐