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
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧