在QML窗口使用无边框,并且默认程序最大化显示后,此时程序显示默认自动变成了全屏显示,程序自动遮挡住了系统任务栏。当使用多屏幕显示时,切换不同程序,该QML程序的界面显示错误。使用录屏软件录屏无效等莫名其妙的错误。我最初设置QML窗口的方式为(网上教的各种无边框窗口都是这么设置的):
ApplicationWindow {
id:appWindow
width: 1280
height: 920
visible: true
flags: Qt.Window | Qt.FramelessWindowHint
visibility: Window.Maximized
}
使用该默认属性绑定的方式创建窗口后,就会出现上述我阐述的各种莫名其妙的问题,我个人感觉可能的原因在于使用属性绑定的方式导致系统和程序发生冲突。因此使用在程序加载后再对窗口属性赋值的方式,上述各种问题不再出现:
ApplicationWindow {
id:appWindow
width: 1280
height: 920
visible: true
Component.onCompleted: {
appWindow.visibility = Window.Maximized
appWindow.flags = Qt.FramelessWindowHint|Qt.Window
}
}
注意上下两段代码中对窗口visibility和flags赋值的不同方式,修改后对工程进行清除并重新编译!!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)