QML 中 Window 和 ApplicationWindow 的区别?

Difference between Window and ApplicationWindow in QML?

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有什么区别?在什么情况下应该使用哪一个?

docs说的很清楚:

ApplicationWindow is a Window that adds convenience for positioning items, such as MenuBar, ToolBar, and StatusBar in a platform independent manner.

也就是继承自Window但有一定的默认属性的项目,相对于QWidget,它类似于QMainWindow。

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

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

注意: 有 2 项名为 ApplicationWindow 1, 2