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);
}
相关推荐
lingran__18 小时前
速通ACM省铜第三天 赋源码(Double Perspective和Trip Shopping和Hamiiid, Haaamid... Hamid?)
c++·算法
凤城老人18 小时前
C++使用拉玛努金公式计算π的值
开发语言·c++·算法
YaoYuan932320 小时前
C++ 类型推导(第一部分)
c++
夜猫逐梦21 小时前
【VC】 error MSB8041: 此项目需要 MFC 库
c++·mfc
姓刘的哦1 天前
Qt中的QWebEngineView
数据库·c++·qt
C_player_0011 天前
——贪心算法——
c++·算法·贪心算法
SundayBear1 天前
QT零基础入门教程
c++·qt
kyle~1 天前
排序---插入排序(Insertion Sort)
c语言·数据结构·c++·算法·排序算法
奔跑吧邓邓子1 天前
【C++实战⑦】C++函数实战:从基础到项目应用
c++·实战·函数
HMBBLOVEPDX1 天前
C++(静态函数)
开发语言·c++