解决QT制作的软件,全屏显示后最小化,点击任务栏图标打开时不是全屏而是窗口状态的问题

devtools/2024/12/23 16:27:12/

问题: 用QT自定义窗口写最大最小化时,发现从全屏切换到最小化状态,再从任务栏点击图标时,打开的窗体状态是窗口化状态而不是全屏状态。

自定义的窗体切换函数DoVideoBoxMenu_WindowState(Qt::WindowState wState),根据传入的状态标志来切换不同状态。

解决1: 设置两个窗体状态标志,初始化m_lastState(Qt::WindowNoState),m_curState(Qt::WindowNoState),当点击最小化时记录当前状态为最小化

else if (wState == Qt::WindowMinimized) //最小化{this->showMinimized();m_curState = wState;}

而为全屏状态时已经将m_lastState = Qt::WindowMaximized记录。

所以当点击任务栏图标时,会检测到showEvent事件,才这个函数里面再做一次到全屏操作,即可解决问题。

void Demo::showEvent(QShowEvent* event)
{if (m_curState==Qt::WindowMinimized){DoVideoBoxMenu_WindowState(m_lastState);}QWidget::showEvent(event);
}

解决2:QT制作的软件全屏显示后最小化,点击任务栏图标打开时不是全屏_qt 程序点击最小化,在最小化的图标在点击显示程序隐藏了-CSDN博客


http://www.ppmy.cn/devtools/144737.html

相关文章

SonarQube 概述

**SonarQube ** 1. SonarQube 概述 SonarQube 是一个开源的代码质量管理平台,广泛用于持续检查代码的质量,包括检测代码中的错误、漏洞和不符合最佳实践的代码。SonarQube 可以与 CI/CD 流程结合,自动化地对代码进行静态分析,帮…

Rust之抽空学习系列(五)—— 所有权(上)

Rust之抽空学习系列(五)—— 所有权(上) 1、什么是所有权 所有权是确保Rust程序安全的一种机制 安全则是指程序中没有未定义的行为未定义的行为是指在执行一段代码时,结果不可预测且未被编程语言指定的情况Rust的基…

ArcGIS计算土地转移矩阵

在计算土地转移矩阵时,最常使用的方法就是在ArcGIS中将土地利用栅格数据转为矢量,然后采用叠加分析计算,但这种方法计算效率低。还有一种方法是采用ArcGIS中的栅格计算器,将一个年份的地类编号乘以个100或是1000再加上另一个年份的…

【jvm】主要参数

Java 虚拟机(JVM)有许多参数用于控制其行为和性能,下面是一些 主要的 JVM 启动参数,这些参数通常分为以下几类: 内存管理相关参数 这些参数主要用来配置 JVM 的内存分配策略、堆内存、栈内存等。 -Xms 设置 JVM 启动…

《计算机组成及汇编语言原理》阅读笔记:p28-p47

《计算机组成及汇编语言原理》学习第 3 天,p28-p47 总结,总计 20 页。 一、技术总结 1.Virtual Machine 2.stack 3.The fetch-execute Cycle 在控制单元(Control Unit, CU)里面有一个指令寄存器(Instruction Register, IR)和一个程序计数器(Program…

嵌入的律动,科技的心跳

在微观的世界中,有一种科技的生命以悄然无声的方式运作。它不张扬,却无处不在。嵌入式系统,正是这颗悄然跳动的科技之心。 它在汽车的引擎里点燃动力,让风驰电掣成为可能;它在智能手表中记录生命的律动,让…

挑战一个月基本掌握C++(第六天)了解函数,数字,数组,字符串

一 C函数 函数是一组一起执行一个任务的语句。每个 C 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。 您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上&#xff…