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);
}
相关推荐
万象.15 分钟前
QT基础及对象树的认识
c++·qt
柒儿吖19 分钟前
Qt for HarmonyOS 水平进度条组件开发实战
开发语言·qt·harmonyos
小张成长计划..2 小时前
【C++】2:cin和cout的介绍和使用,函数的缺省参数
c++
再卷也是菜3 小时前
C++篇(17)哈希拓展学习
c++·哈希
“愿你如星辰如月”3 小时前
Linux:进程间通信
linux·运维·服务器·c++·操作系统
灵晔君4 小时前
C++标准模板库(STL)——list的模拟实现
c++·list
Justinyh4 小时前
1、CUDA 编程基础
c++·人工智能
应用市场5 小时前
Qt QTreeView深度解析:从原理到实战应用
开发语言·数据库·qt
864记忆5 小时前
Qt Widgets 模块中的函数详解
开发语言·qt
white-persist5 小时前
差异功能定位解析:C语言与C++(区别在哪里?)
java·c语言·开发语言·网络·c++·安全·信息可视化