Livre-se da seção de cabeçalho em um aplicativo qml no Ubuntu SDK

2

É possível remover a seção de cabeçalho no MainView de um novo aplicativo qml?

Código:

import QtQuick 2.0
import Ubuntu.Components 0.1
import "components"

/*!
    \brief MainView with a Label and Button elements.
*/


MainView {
    width: 400
    height: 400
    transformOrigin: Item.Center
    clip: false
    opacity: 1

    // objectName for functional testing purposes (autopilot-qt5)
    objectName: "mainView"

    // Note! applicationName needs to match the "name" field of the click manifest
    applicationName: "com.ubuntu.developer.username.hello1"


    Page {
        id: page1
        clip: false
        title: "Hello World"

        Column {
            id: column1
            anchors.bottomMargin: 45
            spacing: units.gu(1)
            anchors {
                margins: units.gu(2)
                fill: parent
            }

            HelloComponent {
                id: label
                height: 50
                objectName: "label"

                text: i18n.tr("Hello..")
                anchors.left: parent.left
                anchors.leftMargin: 0
                anchors.right: parent.right
                anchors.rightMargin: 0
            }

            Button {
                objectName: "button"
                width: parent.width

                text: i18n.tr("Tap me!")

                onClicked: {
                    label.text = i18n.tr("..world!") 
                }
            }
        }
    }
}

Se eu remover o title: "Hello World" do elemento Page, o cabeçalho parece ter desaparecido, mas o título normal da janela tem este título:

Como posso alterar apenas este título e ocultar a seção de cabeçalho?

    
por TuKsn 23.07.2014 / 17:13

1 resposta

2

Como você já sabe, a remoção do título impede que o cabeçalho seja exibido. Então, a única coisa a corrigir é o título da janela raiz.

Você pode fazer isso com o seguinte código (onde eu mudo o window.title - depois de importar QtQuick.Window ):

import QtQuick 2.0
import Ubuntu.Components 0.1
import QtQuick.Window 2.0

/*!
    \brief MainView with a Label and Button elements.
*/


MainView {
    width: 400
    height: 400
    transformOrigin: Item.Center
    clip: false
    opacity: 1

    // objectName for functional testing purposes (autopilot-qt5)
    objectName: "mainView"

    // Note! applicationName needs to match the "name" field of the click manifest
    applicationName: "com.ubuntu.developer.username.hello1"


    Page {
        id: page1
        clip: false
        property var my_title: "Hello World"

        // 'window' is defined by QML between startup and showing on the screen.
        // There is no signal for when it becomes available and re-declaring it is not safe.
        property bool windowActive: typeof window != 'undefined'
        onWindowActiveChanged: {
            window.title = my_title
        }

        Column {
            id: column1
            anchors.bottomMargin: 45
            spacing: units.gu(1)
            anchors {
                margins: units.gu(2)
                fill: parent
            }

            Text {
                id: label
                height: 50
                objectName: "label"

                text: i18n.tr("Hello..")
                anchors.left: parent.left
                anchors.leftMargin: 0
                anchors.right: parent.right
                anchors.rightMargin: 0
            }

            Button {
                objectName: "button"
                width: parent.width

                text: i18n.tr("Tap me!")

                onClicked: {
                    label.text = i18n.tr("..world!")
                }
            }
        }
    }
}

    
por Sylvain Pineau 23.07.2014 / 18:42