这里写目录标题

  • 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接受 1QDialog::Rejected拒绝 01、如果对话框是应用程序模式,则用户在关闭对话框之前不能与同一应用程序中的任何其他窗口进行交互。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() 的意义上,一个小部件仍然被认为是可见的。

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

  1. Qt: 窗口的显示和隐藏

    Qt: 窗口的显示和隐藏 隐藏窗口 1. hide() 2. setVisible(false) 3. lower() 4. close() 5. hideEvent() 显示窗口 1. show() ...

  2. LabVIEW开发的上位机界面在其它电脑分辨率下-界面窗口偏移显示问题解决

    目录 问题: 分析: 解决方式 1)编辑前面板边界适配对应的分辨率 2)编辑前面板窗口-窗口边界 3)编辑前面板窗口-保持窗口比例 4)设置VI属性--窗口运行时位置居中显示 参考 问题: 在基于La ...

  3. QT界面中实现视频帧显示的多种方法及应用

    QT界面中实现视频帧显示的多种方法及应用 (一) 引言 1.1 视频帧在QT界面中的应用场景 1.2 不同方法的性能和适用性分析 1.2.1 使用QLabel和QPixmap 1.2.2 使用QPai ...

  4. QT界面:QDockWidget停靠窗口使用小结

    QDockWidget停靠窗口 Qt构建停靠窗口使用的是QDockWidget类. 窗口特性 停靠窗口特性可以通过setFeatures(QDockWidget::AllDockWidgetFeatu ...

  5. qt 设置ui窗口为固定大小_Qt 设置窗口居中显示和窗体大小

    设置窗口居中显示 方法一:在窗口(QWidget类及派生类)的构造函数中添加如下代码: #include //....... QDesktopWidget* desktop = QApplicatio ...

  6. 基于人脸识别的课堂签到管理系统(一)---环境设置以及简单的QT界面设计

    基于人脸识别的课堂签到管理系统(一)---环境设置以及简单的QT界面设计 一.前言 二.Pycharm安装与环境配置 2.1 Pycharm安装配置 2.2 Pycharm环境配置 三.QT界面设计 ...

  7. QT: 界面隐藏后台显示

    最近做项目遇到一个需求,第三方工具调用我的程序,并根据传过来的参数进行确定是否显示界面: 此处需要设置 窗口的Flags: 代码如下 #include "mainwindow.h" ...

  8. unity UI如何开启(显示)或者关闭(隐藏)Panel界面最好?

    unity UI如何开启(显示)或者关闭(隐藏)Panel界面,相信大家都是知道的,但是如何做最好呢? 可能大家一般开启/关闭界面的方法就是直接SetActive吧.这样做通常是可以的,简答快速地解决 ...

  9. linux qt应用程序全屏,QT在ubuntu下实现界面全屏,侧边栏隐藏,上边栏隐藏【实例】...

    最近做一个Qt项目(ubuntu 14.04),需要将界面全屏,全屏之后,ubuntu侧边栏隐藏,上边栏也隐藏,只显示Qt的界面. 那么先介绍几个函数: Qt全屏显示函数:showFullScreen ...

  10. Qt界面总是显示在前方

    大家可能都碰到过这种问题,界面用于监控某些状态所以一般是不会直接关闭的,或者点击了关闭也希望能够继续运行.但这种界面往往在最小化或关闭再打开后不能显示到当前界面最上方. 查看QWidget头文件,使用 ...

最新文章

  1. 控制客户端对同一个服务端地址的连接端口数量
  2. 教你怎么卷过别人 | 每日趣闻
  3. (转)Inno Setup入门(二十一)——Inno Setup类参考(7)
  4. 自己动手生成评论RSS
  5. 转Java 理论与实践: 正确使用 Volatile 变量
  6. javascript加python_是否可以在javascript中添加一些新的语法?
  7. 通过制定编码规范的过程来说明《学会放弃、妥协也是个大进步,也是相当的提高工作效率》...
  8. 苹果iPad Pro将转向OLED屏幕 首款明年下半年推出
  9. 北理工远程教育在线作业统考计算机,北理工19春《操作系统》在线作业【标准答案】...
  10. javascript中的对象之间继承关系
  11. Python 分析Nginx 日志并存入MySQL数据库(单线程)
  12. 三款IE修复软件横向评测(转)
  13. 分享PHP多功能在线工具箱网站源码,安装教程详解
  14. C语言协程库async
  15. N沟道和P沟道MOS管的四个不同点
  16. java闪光灯手电筒_Android_Android 开启闪光灯做手电筒的详解,复制代码 代码如下:public class H - phpStudy...
  17. 用户的虚拟地址 linux 0 4gb,Linux驱动虚拟地址和物理地址的映射
  18. 2023年五大趋势预测 | 大数据分析、人工智能和云产业展望
  19. springboot物业管理系统的设计与实现
  20. 中国的程序员只能支撑到30岁么。

热门文章

  1. 【收藏】QCIF、 CIF、2CIF、DCIF、D1(4CIF)格式介绍
  2. qt 分贝毫瓦 dBm 与 功率 W 相互转换
  3. Centos7远程桌面win7
  4. 交互式计算机图形学 第六版 pdf,1交互式计算机图形学系统.pdf
  5. 【LaTeX】 案例分析 (8) - 高等数学分析 Mathematica 实验报告
  6. 40-42-网络层ARP协议,ARP欺骗,网络执法官和arp防火墙
  7. 寻找春天nbsp;九宫格日记-2011.04.17
  8. WINDOW端口查看命令
  9. 数据恢复技巧:U盘文件被隐藏怎么恢复?
  10. 黑客工具软件大全100套(转)