web-dev-qa-db-fra.com

Comment obtenir la longueur en pixels d'une chaîne de texte Button dans QML?

J'ai besoin de connaître la longueur du texte du bouton en pixels. Comment faire ça ?

3
user262898

Regardez l'extrait de code suivant:

import QtQuick 2.0
import Ubuntu.Components 0.1

MainView {
    width: 160
    height: 160

    Button {
        id: my_button
        Text {
            id: my_text
            anchors {centerIn: parent }
            text: my_button.width + " x " + my_button.height
        }
        Component.onCompleted: console.log(my_text.width)
    }
}

La propriété de texte par défaut d'un bouton est simplement une chaîne et héritera du style appliqué au composant Button.

Pour avoir accès à la longueur de la chaîne en pixel, utilisez plutôt un élément Text dédié à l'intérieur de votre bouton afin de pouvoir accéder à sa largeur en pixel comme ceci: my_text.width.

Exécution du code ci-dessus avec les journaux qmlscene 41.953125 sur la sortie standard de la chaîne "80 x 40"

2
Sylvain Pineau