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);
}
相关推荐
Mortalbreeze几秒前
C++ Lambda表达式详解:从捕获列表到底层原理
开发语言·c++
为何创造硅基生物6 分钟前
LVGL
c++·ui
只做人间不老仙12 分钟前
C++ grpc 拦截器示例学习
开发语言·c++·学习
LuminousCPP17 分钟前
数据结构 - 单链表第一篇:单链表基础操作
c语言·数据结构·经验分享·笔记·学习
人还是要有梦想的30 分钟前
QT qml布局讲解
qt·布局·qml
Cloud_Shy61834 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第六章 Item 44 - 47)
开发语言·人工智能·经验分享·笔记·python
qeen8735 分钟前
【C++】类与对象之零散知识点补充(四)
c++·笔记·学习·语法
骑猪兜风2331 小时前
2026 年,AI 智能体如何在企业落地?
经验分享
小短腿的代码世界1 小时前
Qt交易系统审计日志与合规追踪引擎:从零构建金融级不可篡改日志架构
qt·金融·架构
Irissgwe1 小时前
顺序表和链表
数据结构·c++·链表·c·顺序表·线性表