Dav*_*lla 5 qt application-development qml ubuntu-sdk
我正在使用 Ubuntu SDK 编写一个应用程序,并且我在一个PageStack组件中有一个Tabs组件。
当我在 PageStack 中加载其中一个页面时,一切正常,并且在标题中显示了当前选项卡的名称。但是,如果当页面打开而不是点击工具栏中的后退按钮时,我选择了另一个选项卡,它会完全混淆工具栏,然后不再显示后退按钮。
有没有办法让我的页面全屏显示,以便不显示带有当前选项卡名称的标题(因此无法点击),或者甚至更好,在标题中显示当前页面的标题而不是父标签标题?
Tabs {
id: tabs
Tab {
objectName: "tabQreator"
title: i18n.tr("Create")
page: CreatorPage {
id: pageCreator
}
}
// ...
}
Run Code Online (Sandbox Code Playgroud)
并在CreatorPage.qml:
PageStack {
id: pageStack
anchors {
fill: parent
}
Component.onCompleted: push(pageRoot)
Page {
id: somePage
// Toolbar definition here...
}
Page {
id: pageRoot
title: i18n.tr("The root page")
visible: false
// ...
}
Run Code Online (Sandbox Code Playgroud)
感谢 Szymon Waliczek,他在 G+ 上回答了这个问题。以下代码片段隐藏除根页面之外的所有页面上的标题。
PageStack {
id: pageStack
onCurrentPageChanged: {
if(pageStack.currentPage === pageRoot) {
// mainview is the MainView's id
mainview.header.visible = true
mainview.header.show()
} else {
mainview.header.hide()
mainview.header.visible = false
};
}
}
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力,尽管工具栏仍然很混乱并且显示在根页面上,甚至没有定义它。
关于如何进一步完善这一点,而不是隐藏标题,显示当前页面的标题而不是父选项卡的标题,有什么想法吗?