QML中Window和ApplicationWindow的区别



https://doc.qt.io/qt-5/qml-qtquick-controls2-menubar.html

ApplicationWindow中支持MenuBar,而在Window中不支持。

下面抛出一个错误";无效的属性名称:MenuBar">

Window
{
visible: true
width: 280; height: 280
menuBar: MenuBar {
Menu {}
}
}

而以下工作:

ApplicationWindow
{
visible: true
width: 280; height: 280
menuBar: MenuBar {
Menu {}
}
}

在新版Qt 5.12中,默认代码使用Window,而不是ApplicationWindow

WindowApplicationWindow之间有什么区别?在哪种情况下应该使用哪一个?

文档非常清晰:

ApplicationWindow是一个窗口,它以独立于平台的方式为定位MenuBar、ToolBar和StatusBar等项增加了便利。

也就是说,它是一个从Window继承但具有某些默认属性的项,在QWidget方面与QMainWindow类似。

当你说:在新的Qt 5.12版本中,默认代码使用Window,而不是ApplicationWindow我想你的意思是QtCreator在创建项目时默认使用Window,这只是因为开发人员想要,而且没有科学依据,只是一种选择。

您应该何时使用其中一个取决于您想要自定义的时间,以及您是否对ApplicationWindow结构感到满意,因为正如您所看到的,后者有一个预定义的结构。

注意:有两个项目称为ApplicationWindow1,2

最新更新