从任务栏恢复最小化QML全屏无边框窗口问题
解决QML应用最小化恢复后保持全屏的问题
你需要监听窗口的可见性变化,在窗口从最小化状态恢复时,强制将其重置为全屏模式。具体修改如下:
import QtQuick 2.15 import QtQuick.Window 2.15 import QtQuick.Controls 2.15 ApplicationWindow { id: mainWindow visible: true visibility: Window.FullScreen Rectangle { id: rect width: 140 height: 140 color: "lightblue" anchors.centerIn: parent } Button { anchors.top: rect.bottom anchors.left: rect.left text: "Minimize" onClicked: { mainWindow.showMinimized() } } // 监听可见性变化,恢复时强制全屏 onVisibilityChanged: { if (visibility !== Window.Minimized) { visibility = Window.FullScreen; } } }
关键说明:
- 导入
QtQuick.Window模块,才能使用Window.FullScreen、Window.Minimized这类枚举值 - 添加
onVisibilityChanged信号处理器:当窗口可见性从Minimized切换到其他状态时,自动重置为FullScreen,避免恢复后变成带边框的窗口模式
你也可以通过监听窗口激活状态实现相同效果:
onActiveChanged: { if (active) { visibility = Window.FullScreen; } }
内容的提问来源于stack exchange,提问作者Praveenkumar Thulasiraman
相关产品推荐
相关产品推荐

