场景:窗口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
}