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);
}
相关推荐
带土113 分钟前
1. Qt-的安装和环境变量的配置
开发语言·qt
2401_877274241 小时前
太原理工大学2025数据结构-栈和队列
数据结构·c++·算法
淀粉肠kk1 小时前
【数据结构】红黑树
数据结构·c++
帅中的小灰灰2 小时前
C++编程建造器设计模式
java·c++·设计模式
金海境科技3 小时前
【服务器数据恢复】物流企业WMS系统硬盘固件损坏导致库存数据丢失数据恢复案例 - 金海境科技
经验分享
喵个咪4 小时前
Qt 6 实战:C++ 调用 QML 回调方法(异步场景完整实现)
前端·c++·qt
wotaifuzao4 小时前
(七)深入探讨BLE MAC 地址的隐私博弈:技术与隐私的较量
经验分享·物联网·macos·蓝牙·射频工程·ble
一点 内容5 小时前
Nano Banana开发实战:从入门到高效部署的完整经验分享
经验分享
阿波茨的鹅6 小时前
VSCode C++ 项目配置教程
c++·ide·vscode
扶尔魔ocy6 小时前
【QT opencv】手动去噪--网格化获取区域坐标
开发语言·qt·opencv