qml 中 Page{} 上的 head: 属性起什么作用?

qml 中 Page{} 上的 head: 属性起什么作用?

我有一个应用程序,我想让标题中的工具栏正常工作。在文档中,我注意到一个名为的属性,head它似乎可以创建并向标题工具栏添加项目。

这和 有什么区别toolbaritems

此外,相关的是,在尝试使用这个 head 属性时,我收到错误:无法分配给不存在的属性“head”(类似于问题为什么我会收到错误“无法分配给不存在的属性”head“?

哪一个是正确(或更好)的方法?

谢谢

兰迪

答案1

toolbaritems在 中已弃用Ubuntu.Components 1.1,因此强烈建议不要使用它。它是为了向后兼容而保留的,但现在向标题工具栏添加项目的正确方法是使用head.actions

head.actions和之间的主要区别toolbaritems在于,您不再需要添加ToolbarButton项目,然后设置其action属性。您只需head.actions指定一个操作列表,然后它们将根据Ubuntu Touch 图案

head以下是一个展示如何使用属性的示例(来自官方文档):

import QtQuick 2.0
import Ubuntu.Components 1.1

MainView {
     width: units.gu(48)
     height: units.gu(60)
     Page {
         title: i18n.tr("Example page")
         Label {
             anchors.centerIn: parent
             text: i18n.tr("Hello world!")
        }
        head.actions: [
             Action {
                 iconName: "search"
                 text: i18n.tr("Search")
             },
             Action {
                 iconName: "contacts"
                 text: i18n.tr("Contacts")
             }
        ]
    }
}

还有一些其他有用的设置PageHead(例如自定义Item显示而不是标题),所以我建议你看看这个

如果您运行的是 Ubuntu 14.04 LTS,这些新 API 不可用,因为它们依赖于 Qt 5.3。您可以按照以下步骤解决此问题关联

相关内容