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);
}
相关推荐
白杨尚青11 小时前
C++进阶篇(二):多态——虚函数、重写、虚函数表与三个经典坑(附完整代码仓库)
开发语言·c++·多态·虚函数·重写·动态绑定
syagain_zsx11 小时前
spdlog实战:日志分级、滚动与性能调优
linux·c++·日志库·二次开发日志库
ychqsq1 天前
234.无题
经验分享·职场和发展
weixin_307779131 天前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
AI wins1 天前
c++新增頭文件
c++
Shadow(⊙o⊙)1 天前
仿muduo实现高并发服务器——事件就绪管理Channel.hpp
服务器·c++
by209991 天前
哈希表——快速找到数据:冲突、删除与扩容的实现
数据结构·c++·哈希算法·散列表
2501_926978331 天前
人机通信协议--人和机器之间的交互想象
人工智能·经验分享·算法·ai写作
音草1 天前
C++ 继承详解:从概念到菱形继承
c++
weixin_307779131 天前
C++代码实现MATLAB中的spectralcluster函数功能
开发语言·c++·算法·matlab