Russian Qt Forum

Qt => Qt Quick => Тема начата: neversleep от Июль 21, 2011, 17:31



Название: Добраться до свойств обьекта font
Отправлено: neversleep от Июль 21, 2011, 17:31
Всем доброго времени суток, проблема такая:

Не могу добраться до свойства объекта переданного в параметры сигнала, а конкретно, нужно получить некоторые параметры шрифта, пример:

Код:
import QtQuick 1.0

Rectangle {
    width: 360
    height: 360

    Text {
        id: text
        anchors.centerIn: parent
        text: "Hello World"

        signal onClick(variant obj)

        MouseArea {
            anchors.fill: parent
            onClicked: {
                text.onClick(text); // obj.font.pixelSize - возвращает undefined

                foo(text); // работает
            }
        }

        Component.onCompleted: onClick.connect(foo);
    }

    function foo(obj) {
        console.log(obj.font.pixelSize);
    }
}


Название: Re: Добраться до свойств обьекта font
Отправлено: neversleep от Июль 21, 2011, 18:37
Решено с помощью алиасов, кому интересно:
Код:
import QtQuick 1.0

Rectangle {
    width: 360
    height: 360

    Text {
        id: text
        anchors.centerIn: parent
        text: "Hello World"

        property alias font_pixelSize: text.font.pixelSize

        signal onClick(variant obj)

        MouseArea {
            anchors.fill: parent
            onClicked: {
                text.onClick(text);
            }
        }

        Component.onCompleted: onClick.connect(foo);
    }

    function foo(obj) {
        console.log(obj.font_pixelSize);
    }
}

ps
Ну вот как всегда, стоит только задать вопрос, как находишь решение, пол дня убил на это  :)