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);
}
相关推荐
YKPG1 小时前
C++学习-入门到精通【14】标准库算法
c++·学习·算法
zm1 小时前
极限复习c++
开发语言·c++
追风赶月、1 小时前
【QT】认识QT
开发语言·qt
程序猿本员2 小时前
线程池精华
c++·后端
靡樊2 小时前
Socket编程UDP\TCP
网络·c++·学习·tcp/ip·udp
byte轻骑兵2 小时前
【C++高级主题】命令空间(五):类、命名空间和作用域
开发语言·c++
芯片智造3 小时前
电镀机的阳极是什么材质?
经验分享
忘梓.3 小时前
从二叉树到 STL:揭开 set 容器的本质与用法
开发语言·c++
Alan3163 小时前
qt network 整体框架
c++
100分题库小程序3 小时前
汽车加气站操作工证考试重点
经验分享·笔记·安全