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);
}
相关推荐
tjl521314_215 小时前
04C++ 名称空间(Namespace)
开发语言·c++
ximu_polaris6 小时前
设计模式(C++)-行为型模式-备忘录模式
c++·设计模式·备忘录模式
tankeven10 小时前
C++ 智能指针
c++
再玩一会儿看代码11 小时前
如何理解神经网络中的权重参数?从一张图看懂模型参数量计算
人工智能·经验分享·python·深度学习·神经网络·机器学习
Tutankaaa12 小时前
知识竞赛软件SaaS版 vs 本地部署
人工智能·经验分享·笔记·学习
handler0112 小时前
【算法模板】最小生成树:稠密图选 Prim,稀疏图选 Kruskal
c语言·数据结构·c++·算法
许长安12 小时前
RPC 异步调用基本使用方法:基于官方helloworld-async 示例
c++·经验分享·笔记·rpc
xiao阿娜的妙妙屋13 小时前
还在用轮播图当主图视频?2026年商家把视频做得更高级的AI工具推荐
经验分享
sparEE13 小时前
c++面向对象:对象的赋值
开发语言·c++
此生决int13 小时前
快速复习之数据结构篇——栈和队列
数据结构·c++