3

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

MenuBar 在中受支持,ApplicationWindowWindow.

以下引发错误“无效的属性名称: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.

Window和 和有什么不一样ApplicationWindow?在什么情况下应该使用哪一个?

4

1 回答 1

5

文档非常清楚:

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

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

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

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

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

于 2020-11-27T16:50:18.950 回答