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);
}
相关推荐
·present·9 分钟前
CSAPP(Bomb lab)
c语言·c++
王老师青少年编程21 分钟前
2026年信奥赛c++普及组csp-j第二轮复赛真题
c++·真题·csp·信奥赛
时间的拾荒人1 小时前
CMake 常用命令详解:从版本声明到安装部署
c++·面试
sycmancia4 小时前
Qml——Image和AnimatedImage使用
qt
D e re k ZH4 小时前
P5025 [SNOI2017] 炸弹
c++·算法
wuminyu5 小时前
Java字节码学习总结:字节码如何加载、解析和执行
java·linux·c语言·jvm·c++
ZICK_ZEON5 小时前
Vue拼接字符串的几种办法
经验分享
qq_406981035 小时前
c++的decltype是什么
开发语言·c++
哎写bug的程序员5 小时前
【无标题】
经验分享
坤坤子吖5 小时前
算法学习——单调队列
开发语言·c++·笔记·学习·算法