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);
}
相关推荐
挖矿大亨1 分钟前
C++中空指针访问成员函数
开发语言·c++
小小码农Come on16 分钟前
Qt Creator常用设置
qt
txinyu的博客17 分钟前
解析muduo源码之 Socket.h & Socket.cc
c++
阿猿收手吧!23 分钟前
【C++】模板偏特化与std::move深度解析
服务器·c++
问好眼30 分钟前
【信息学奥赛一本通】1296:开餐馆
c++·算法·动态规划·信息学奥赛
Qt学视觉39 分钟前
3D3-PCL全面总结
c++·opencv·3d
愚者游世1 小时前
力扣解决二进制&题型常用知识点梳理
c++·程序人生·算法·leetcode·职场和发展·改行学it
wkm9562 小时前
在arm64 ubuntu系统安装Qt后编译时找不到Qt3DExtras头文件
开发语言·arm开发·qt
逆龙泰氽2 小时前
位运算和进制
c++