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);
}
相关推荐
黎相思18 分钟前
LRU Cache
c++·缓存
UIU11422 分钟前
P1003 [NOIP 2011 提高组] 铺地毯
数据结构·c++·算法
bitbrowser1 小时前
谷歌临时邮箱会过期吗?Gmail别名是否可以重复使用?
经验分享·指纹浏览器
泵管家1 小时前
恒压供水控制器原理、选型与应用完全指南
经验分享·自动化
xxwl5852 小时前
区域赛算法模版第四章---数据结构
数据结构·c++·算法
总线通信小百科2 小时前
车载以太网EOL测试方案:速率识别、链路验证与自动化集成
经验分享·adas
余额瞒着我当琳3 小时前
哈希表底层原理解析,直接定址法,哈希冲突,负载因子,哈希函数,开放定址法
java·c++·哈希算法·散列表
xxwl5854 小时前
区域赛算法模版第五章---数学与数论
c++·笔记·算法
Quz4 小时前
QML TabBar 标签栏交互效果合集
qt·动画·qml
局部有解4 小时前
LeetCode Hot100 438 找到字符串中所有字母异位词
c++·算法·leetcode