Использование переменной в качестве текста в элементе Text немедленно активирует onTextChanged - PullRequest
0 голосов
/ 01 июля 2018

Если у меня есть следующий код:

import QtQuick 2.10
import QtQuick.Window 2.10

Window {
    id: app
    visible: true
    width: 640
    height: 480
    property bool txt: false

    Text {
        text: app.txt
        onTextChanged: { console.debug("Text changed") }
    }
}

Я получаю «Текст изменен», отображаемый на моей консоли, как только приложение загружается, однако, если я устанавливаю текст вручную на что-то вроде

    Text {
        text: "Some text"
        onTextChanged: { console.debug("Text changed") }
    }

Я не получаю отображение «Текст изменен» на моей консоли, если у меня нет чего-то, что изменяет текст после загрузки приложения.

Это нормальное поведение? Есть ли способ использовать переменную в качестве текста, но не активировать onTextChanged при загрузке приложения?

1 Ответ

0 голосов
/ 01 июля 2018

Да, это нормальное поведение для qml, потому что ваше первое текстовое свойство равно "" (ничего) , и когда вы задаете ему разнообразие , оно изменяется от "" до app.txt. Если вы устанавливаете текст вручную, в этом случае нечего менять.

...