qt实现窗口B始终显示在窗口A上,且上层窗口在电脑任务栏不显示缩图

场景:窗口A上面始终显示窗口B(透明背景)

/*****************************************/

首先,在主窗口即底部窗口重写changeEvent

QtGuiApplication1::QtGuiApplication1(QWidget *parent)
: QWidget(parent)
, m_pQtGuiClass(nullptr)
{
  ui.setupUi(this);
  setWindowFlags(Qt::FramelessWindowHint);
  m_pQtGuiClass = new QtGuiClass();
  m_pQtGuiClass->show();
}

void QtGuiApplication1::changeEvent(QEvent* event)
{
  if (isVisible()) 
  {
	if (m_pQtGuiClass)
		m_pQtGuiClass->raise();
  }

    QWidget::changeEvent(event);
}

这样做了之后,会发现,在电脑任务栏显示两个窗口

所以,还需要隐藏上面窗口在任务栏的显示

QtGuiClass::QtGuiClass(QWidget *parent)
  : QWidget(parent)	
{
  ui.setupUi(this);
  setWindowFlags(Qt::FramelessWindowHint | Qt::SubWindow);// 隐藏 Qt::SubWindow
}
posted @   隔壁老张爱吃鱼  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示