我有一个应用程序,我想让标题中的工具栏正常工作。在文档中,我注意到一个名为的属性,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。您可以按照以下步骤解决此问题关联。