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);
}
相关推荐
小樱花的樱花3 小时前
C++ new和delete用法详解
linux·开发语言·c++
努力的章鱼bro5 小时前
操作系统-FileSystem
c++·操作系统·risc-v·filesystem
96775 小时前
cURL curl
c++
一匹电信狗5 小时前
【Linux我做主】进程程序替换和exec函数族
linux·运维·服务器·c++·ubuntu·小程序·开源
会编程的土豆6 小时前
【数据结构与算法】二叉树从建立开始
数据结构·c++·算法
sweetone6 小时前
安桥CR-245BT 微型桌面音响不开机小修
经验分享·音视频
:mnong6 小时前
Superpowers 项目设计分析
java·c语言·c++·python·c#·php·skills
信奥胡老师6 小时前
P1255 数楼梯
开发语言·数据结构·c++·学习·算法
A.A呐7 小时前
【C++第二十一章】set与map封装
开发语言·c++
96777 小时前
C++多线程2 如何优雅地锁门 (lock_guard) 多线程里的锁的种类
java·开发语言·c++