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);
}
相关推荐
OPEN-F16 分钟前
C++进阶教程:类与对象深入
java·开发语言·c++
数智启示录17 分钟前
Flink CDC 机制精讲(七):用故障注入证明链路是否可靠 【面试宝典】
大数据·经验分享·面试·flink
彷徨而立26 分钟前
【C++11】内存模型的逻辑时序关系 happens‑before
c++
秋田君32 分钟前
QT_HTTP协议编程
qt·http·iphone
总线通信小百科41 分钟前
汽车以太网测试怎么做?CAN FD与100/1000Base-T1网关方案解析
经验分享
码农客栈42 分钟前
Qt 打包为可执行文件发布
qt
zmzb01031 小时前
C++课后习题训练记录Day201
c++·算法·图论
Escalating_xu1 小时前
【C++入门基础(上)】从发展历程、学习路线到命名空间与输入输出
开发语言·c++
jimy11 小时前
C++ 中的rValue的判断---是否能“隐式移动”
开发语言·c++
上海心泾国际物流有限公司1 小时前
去年秋天,我在闵行区为一批冷链货找仓库
经验分享·笔记·健康医疗·交通物流