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);
}
相关推荐
GG-_-Bond2 小时前
9.1 kv存储resp协议模拟面试
c++
Quz3 小时前
QML StackView:实现卡片堆叠效果
qt
米糕闯编程3 小时前
鱼香ros2(五)用C++编写节点
c++·ros2·cmakelists·鱼香
Quz3 小时前
QML Drawer 抽屉导航详解
qt
xiangyun614 小时前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
xiangyun614 小时前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
从零开始的嵌入式之旅4 小时前
day44
arm开发·经验分享·笔记·嵌入式硬件
fpcc6 小时前
计算机原理—构建过程中的分段分析
c++
xxwxx__6 小时前
C++ AVL 树深度剖析:平衡二叉搜索树原理、源码与面试考点
数据结构·c++
Escalating_xu6 小时前
【C语言常见概念】从第一行代码到字符串结束标志:一次打通编译、main、ASCII、转义字符与注释
c语言·c++