Qt QML中Window和ApplicationWindow之间的区别?

Qt QML中Window和ApplicationWindow之间的区别?,qt,qml,qtquick2,qt5.12,Qt,Qml,Qtquick2,Qt5.12,菜单栏在应用程序窗口中受支持,而在窗口中不受支持 下面抛出一个错误“无效的属性名称:菜单栏” 鉴于以下工程: ApplicationWindow { visible: true width: 280; height: 280 menuBar: MenuBar { Menu {} } } 在新的Qt版本5.12中,默认代码使用Window,而不是ApplicationWindow Window和ApplicationWindow之间有什么区别

菜单栏在
应用程序窗口中受支持,而在
窗口中不受支持

下面抛出一个错误“无效的属性名称:菜单栏”

鉴于以下工程:

ApplicationWindow
{
    visible: true
    width: 280; height: 280

    menuBar: MenuBar {
          Menu {}
    }
}
在新的Qt版本5.12中,默认代码使用
Window
,而不是
ApplicationWindow

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

非常清楚:

ApplicationWindow是一个窗口,它以独立于平台的方式方便地定位菜单栏、工具栏和状态栏等项

也就是说,它是一个从Window继承的项目,但具有某些默认属性,就QWidget而言,它类似于QMainWindow

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

何时应使用其中一种取决于何时要自定义,以及您是否熟悉ApplicationWindow结构,因为您可以看到后者具有预定义的结构


注意:有两个项目称为ApplicationWindow,

Window
是基本的QML类型。它只是一扇窗户<代码>应用程序窗口
是QtQuick Controls 2的一部分,具有与
QMainWindow
类似的功能。用哪一个取决于你。如果需要一个简单的窗口,请使用
window
。如果您需要扩展功能,请使用
ApplicationWindow
。我感谢您。我不知道有文件提到了这一切。@Aquarius_Girl好吧,下次你必须再读一遍文件,因为很多答案都在那里。
ApplicationWindow
{
    visible: true
    width: 280; height: 280

    menuBar: MenuBar {
          Menu {}
    }
}