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);
}
相关推荐
时间的拾荒人32 分钟前
Qt 文件操作详解:从基础类到读写实战
开发语言·qt·面试
2601_9672127244 分钟前
电源轨道系统核心技术路线对比与选型要点
大数据·经验分享
jimy11 小时前
基类没有虚析构函数,基类指针删除派生类对象,行为是未定义的
开发语言·c++
xlq223221 小时前
全面复习2
c++
无名猿1 小时前
移动构造与移动赋值:把资源偷过来
c++·性能优化·内存管理·现代c++·语法基础
老花眼猫2 小时前
数学艺术图案画-曼陀罗(93)
c语言·经验分享·青少年编程·课程设计
Go Work2 小时前
实体类字段用 @Value 赋了默认值,取出来还是 null?
经验分享·笔记
All for pursuit.2 小时前
【回溯-7】494.目标和
数据结构·c++·算法·leetcode
白杨尚青2 小时前
C++入门篇(十三):vector(上)——动态数组:构造、空间增长与迭代器失效
开发语言·c++·笔记·算法·stl
杨连江3 小时前
新生儿胆红素代谢异常致细胞结晶性损伤的致死机制研究
经验分享