Вопрос Избавьтесь от раздела заголовка в приложении qml в SDK Ubuntu


Можно ли удалить раздел заголовка в MainView нового приложения qml?

enter image description here

Код:

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!") 
                }
            }
        }
    }
}

Если я удалю title: "Hello World"элемента страницы, кажется, что заголовок отсутствует, но тогда заголовок нормального окна имеет этот заголовок:

enter image description here 

Как я могу изменить только этот заголовок и скрыть заголовок?


2
2017-07-23 15:13


происхождения




ответы:


Как вы уже знаете, удаление заголовка предотвращает отображение заголовка. Итак, единственное, что нужно исправить, это заголовок корневого окна.

Вы можете сделать это со следующим кодом (где я меняю window.title - после импорта 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!")
                }
            }
        }
    }
}

enter image description here


2
2017-07-23 16:42



Спасибо! Он также работает, если я не import QtQuick.Window 2.0, - TuKsn
Отлично, я этого не знал. благодаря - Sylvain Pineau