obtém o valor padrão QML de um widget

1

Como receber o valor padrão de, e. TextEdit font.pointerSize ?

Eu gostaria de criar um widget personalizado que usa alguns valores padrão, mas permite definir alguns valores de fora. Portanto, é necessário - até onde eu sei - adicionar uma variável property que seja acessível de fora (neste exemplo é fontPointerSize ). Eu quero que esta propriedade padrão seja o padrão de um widget QML existente.

main.qml

import QtQuick 2.0

Rectangle {
    id: background;
    color: "white";
    width: 200;
    height: 200;

    MyWidget {
        id: widget
        // fontPointerSize: 14
        anchors.topMargin: 8
        anchors.top: picker.bottom
    }
}

MyWidget.qml

import QtQuick 2.0

Rectangle {
    width: 100
    height: 26
    color: "orange"

    // how to get Text font.pointerSize default?
    property real fontPointerSize: 11

    Text {
        id: name
        text: qsTr("hello world")
        font.pointSize: fontPointerSize
        anchors.fill: parent

        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
    }
}
    
por Paradiesstaub 19.11.2013 / 15:21

1 resposta

3

Você deseja usar um alias de propriedade . Em MyWidget.qml , use

property alias fontPointerSize: name.font.pointSize

Em seguida, a propriedade fontPointerSize será a propriedade font.pointSize do elemento Text e, portanto, começará com o valor padrão.

    
por Robert Schroll 19.11.2013 / 15:37