使用控件 QStackedWidget 在第一个页面上点击某个小的展示界面在第二个页面上全屏展示。在第二个页面上点击恢复到第一个界面效果。程序如下QListQLabel* m_groupBoxLabels; //要切换的列表 bool m_isFullscreenMode false; //列表增加元素 m_groupBoxLabels { qobject_castQLabel*(ui-label_trackingImage), //小界面 qobject_castQLabel*(ui-label_showTrackingImage) //需要全屏显示的 }; for (QLabel *m_label : m_groupBoxLabels) { if (m_label) { m_label-installEventFilter(this); } } ui-label_showTrackingImage-hide(); //全屏 隐藏 bool Widget::eventFilter(QObject *obj, QEvent *event) { QLabel *label qobject_castQLabel*(obj); if(label m_groupBoxLabels.contains(label)) { if(event-type() QEvent::MouseButtonPress) { QMouseEvent *mouseEvent static_castQMouseEvent*(event); if (mouseEvent-button() Qt::LeftButton) { if (label-objectName() label_showTrackingImage) { ui-stackedWidget-setCurrentIndex(0); m_isFullscreenMode false; ConfigurationFile::Instance().saveOperationalAlarm( QString::fromLocal8Bit(图像显示区域缩小)); ui-label_showTrackingImage-hide(); } else if (label-objectName() label_trackingImage) { ui-stackedWidget-setCurrentIndex(1); m_isFullscreenMode true; ConfigurationFile::Instance().saveOperationalAlarm( QString::fromLocal8Bit(图像显示区域放大)); ui-label_showTrackingImage-show(); } return true; } } } return QWidget::eventFilter(obj, event); }