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);
}
相关推荐
lizz315 小时前
C++模板编程:从入门到精通
java·开发语言·c++
Queenie_Charlie6 小时前
HASH表
数据结构·c++·哈希算法
superman超哥6 小时前
仓颉语言中锁的实现机制深度剖析与并发实践
c语言·开发语言·c++·python·仓颉
郝学胜-神的一滴6 小时前
OpenGL的glDrawElements函数详解
开发语言·c++·程序人生·游戏·图形渲染
WBluuue6 小时前
AtCoder Beginner Contest 436(ABCDEF)
c++·算法
辣机小司7 小时前
【软件设计师】自编思维导图和学习资料分享(中级已过)
java·c++·软考·软件设计师
json{shen:"jing"}7 小时前
1-C语言的数据类型
c语言·c++·算法
刺客xs8 小时前
Qt------信号槽,属性,对象树
开发语言·qt·命令模式
名誉寒冰8 小时前
GDB 调试与 Core Dump(段错误)排查指南(Linux/C/C++)
linux·c语言·c++
FMRbpm9 小时前
串练习--------535.TinyURL的加密和解密
数据结构·c++·新手入门