如何隐藏Tabs组件的标题

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)

Dav*_*lla 3

感谢 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)

这就像一个魅力,尽管工具栏仍然很混乱并且显示在根页面上,甚至没有定义它。

关于如何进一步完善这一点,而不是隐藏标题,显示当前页面的标题而不是父选项卡的标题,有什么想法吗?


Dav*_*lla 1

实际上,虽然另一个答案对于原始问题有效,但最好的方法是以相反的方式进行并嵌套在 aTabs内部PageStack如另一个问题中所述