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
}

浙公网安备 33010602011771号