سؤال احصل على التخلص من قسم العنوان في تطبيق qml على Ubuntu SDK


من الممكن إزالة قسم الرأس في 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