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);
}
相关推荐
谭欣辰12 分钟前
AC自动机:多模式匹配的高效利器
数据结构·c++·算法
三月微暖寻春笋34 分钟前
【和春笋一起学C++】(六十三)虚函数特性(二)
c++·基类·派生类·虚函数特性
历程里程碑35 分钟前
MySQL事务深度解析:ACID到MVCC实战+万字长文解析
开发语言·数据结构·数据库·c++·sql·mysql·排序算法
鲸渔1 小时前
【C++ 跳转语句】break、continue、goto 与 return
开发语言·c++·算法
weixin_537217061 小时前
Spss资源合集
经验分享
syker2 小时前
AIFerric v2.0 项目总结报告
c语言·开发语言·c++
ShineWinsu2 小时前
对于Linux:进程间通信IPC(命名管道)的解析
linux·c++·面试·笔试·进程·ipc·命名管道
德思特2 小时前
GNSS 模拟器选型推荐:自动驾驶与RTK高精度定位测试如何选型?
经验分享·自动驾驶
️是782 小时前
信息奥赛一本通—编程启蒙(3371:【例64.2】 生日相同)
开发语言·c++·算法
捞的不谈~2 小时前
宇树机器狗通过笔记本共享上网操作指南(临时版)
linux·经验分享·tcp/ip·ubuntu