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);
}
相关推荐
2301_818419011 小时前
C++中的解释器模式变体
开发语言·c++·算法
爱学习的大牛1231 小时前
windows tcpview 类似功能 c++
c++
biter down2 小时前
C++11 统一列表初始化+std::initializer_list
开发语言·c++
ShineWinsu2 小时前
爬虫对抗:ZLibrary反爬机制实战分析技术文章大纲
c++
feasibility.3 小时前
SSH Agent Forwarding 与 tmux 排障笔记
linux·运维·服务器·经验分享·笔记·ssh
charlie1145141914 小时前
通用GUI编程技术——Win32 原生编程实战(十六)——Visual Studio 资源编辑器使用指南
开发语言·c++·ide·学习·gui·visual studio·win32
DpHard4 小时前
现代 C++ 中 push 接口为何提供 const T& 与 T&& 两个重载
c++
U-52184F695 小时前
深度解析:从 Qt 的 Q_D 宏说起,C++ 工业级 SDK 是如何保证 ABI 稳定性的
数据库·c++·qt
weixin_464307635 小时前
QT智能指针
java·数据库·qt
heartzZ1yy6 小时前
PolarCTF靶场 Crypto 简单 (上)
经验分享·笔记