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);
}
相关推荐
2401_884602278 小时前
程序人生-Hello’s P2P
c语言·c++
初中就开始混世的大魔王8 小时前
2 Fast DDS Library概述
c++·中间件·信息与通信
Filotimo_8 小时前
5.4 信息安全与网络安全
经验分享
娇娇yyyyyy9 小时前
C++基础(6):extern解决重定义问题
c++
Neteen9 小时前
【数据结构-思维导图】第二章:线性表
数据结构·c++·算法
灰色小旋风10 小时前
力扣——第7题(C++)
c++·算法·leetcode
Ralph_Y10 小时前
C++网络:一
开发语言·网络·c++
2345VOR10 小时前
【QT的pyside6开发使用】
开发语言·qt
程序猿编码11 小时前
探秘 SSL/TLS 服务密码套件检测:原理、实现与核心设计(C/C++代码实现)
c语言·网络·c++·ssl·密码套件
Ronin30511 小时前
【Qt常用控件】控件概述和QWidget 核心属性
开发语言·qt·常用控件·qwidget核心属性