我正在使用 QML 创建一个音乐应用,它使用了大约五个选项卡,每个选项卡都使用一个工具栏。工具栏应该看起来相同,因此我不想为每个选项卡使用完全相同的代码,而是希望为每个选项卡重复使用一个工具栏的代码。
我尝试使用仅包含工具栏代码的外部 .qml 文件,但是不起作用。
如何对工具栏重新使用相同的代码,而不是在代码文件中多次复制粘贴相同的代码?
答案1
您是否尝试在主视图中定义一个工具栏并每次都简单地使用该 id?
像这样:
import QtQuick 2.0
import Ubuntu.Components 0.1
MainView {
// objectName for functional testing purposes (autopilot-qt5)
objectName: "mainView"
applicationName: "toolbartest"
id: root
// S4 resolution 1920x1080
width: units.gu(54)
height: units.gu(96)
ToolbarActions{
id: centralBar
Action {
text: "print"
onTriggered: print("action triggered")
}
Action {
text: "next"
onTriggered: {
if (tabs.selectedTabIndex < 2){
tabs.selectedTabIndex += 1
} else {
tabs.selectedTabIndex = 0
}
}
}
}
Tabs {
id: tabs
Tab {
title: i18n.tr("Tab1")
page: Page {
Label {
id: label1
anchors.centerIn: parent
text: "A centered label"
}
tools: centralBar
}
}
Tab {
title: i18n.tr("Tab2")
page: Page {
Label {
id: label2
anchors.centerIn: parent
text: "A centered label2"
}
tools: centralBar
}
}
Tab {
title: i18n.tr("Tab3")
page: Page {
Label {
id: label3
anchors.centerIn: parent
text: "A centered label3"
}
tools: centralBar
}
}
}
}