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);
}
相关推荐
2301_807288638 小时前
MPRPC项目(第八天,(消费者视角)RpcChannel的调用过程以及实现)
开发语言·qt
海盗猫鸥8 小时前
「C++」继承
开发语言·c++
yayapoi~8 小时前
c++开方效率测试
c++
阿闽ooo8 小时前
抽象工厂模式实战:用C++打造家具生产系统(附UML图与完整代码)
c++·设计模式·抽象工厂模式·uml
梁下轻语的秋缘8 小时前
用 LoRa + W5500 做一个无线呼叫器
c语言·c++
YoungHong19928 小时前
C++ 硬核基础:为什么函数重载不能只看返回值?
开发语言·c++
Yiii_x8 小时前
基于多线程机制的技术应用与性能优化
java·经验分享·笔记
我不会插花弄玉8 小时前
vector【由浅入深-C++】
c++
兵哥工控8 小时前
mfc静态文本控件背景及字体颜色设置实例
c++·mfc
hqzing8 小时前
C语言程序调用syscall的几种方式
linux·c++