Qt无边框窗口,关闭后再show,鼠标等事件不响应问题解决办法

问题描述

使用Qt做了一个无边框界面,关闭后再打开,子控件的点击以及hover效果不可用。

c 复制代码
setWindowFlags(windowFlags() | Qt::Dialog | Qt::FramelessWindowHint);//去掉标题栏

解决方案:

在网上发现可以通过重写showEvent(QShowEvent* showEvent)函数,在里面调用setAttribute(Qt::WA_Mapped);可以解决问题记录一下。

cpp 复制代码
void Class::showEvent(QShowEvent* showEvent)
{
	setAttribute(Qt::WA_Mapped);
	QDialog::showEvent(showEvent);
}
相关推荐
Fuyo_11198 分钟前
C++ 内存管理
c++·笔记
澈2071 小时前
C++面向对象:类与对象核心解析
c++·算法
小短腿的代码世界1 小时前
Qt跨进程通信在交易系统中的应用:让策略引擎与风控模块在毫秒级握手
开发语言·qt
6Hzlia1 小时前
【Hot 100 刷题计划】 LeetCode 141. 环形链表 | C++ 哈希表直觉解法
c++·leetcode·链表
handler012 小时前
Linux 进程探索:从 PCB 管理到 fork() 的写时拷贝
linux·c语言·c++·笔记·学习
xuhaoyu_cpp_java2 小时前
MyBatis学习(五)
经验分享·笔记·学习·mybatis
优化控制仿真模型2 小时前
【社工】初级社会工作者历年真题及答案解析PDF电子版(2010-2025年)
经验分享·pdf
林下月光2 小时前
从地震数据提取子波
经验分享
众少成多积小致巨3 小时前
GNU Make 核心指南
android·c++
AI_661465973 小时前
副业平台收益效率评估:实验设计、指标体系与数据分析框架
经验分享·笔记