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);
}
相关推荐
LaughingZhu10 小时前
Product Hunt 每日热榜 | 2026-08-03
人工智能·经验分享·深度学习·神经网络·产品运营
皓月斯语11 小时前
B2132 素数对
c++·算法·题解
星轨初途12 小时前
LeetCode 热题 100——day2 字母异位词分组
c++·算法·leetcode
笨鸟先飞的橘猫12 小时前
c++面向对象编程
开发语言·c++
啦啦啦啦啦zzzz13 小时前
设计模式:桥接模式和组合模式
c++·设计模式·组合模式·桥接模式
-森屿安年-13 小时前
647. 回文子串
c++·算法·动态规划
fpcc13 小时前
c++应用网络编程之十七WebSocket
网络·c++·websocket
熬夜苦读学习13 小时前
Qt-- 系统相关
开发语言·qt
haolin123.13 小时前
类和对象(下)
c语言·开发语言·c++
皓月斯语13 小时前
P5736 【深基7.例2】质数筛
c++·算法·题解