LINUX.ORG.RU

qml связь свойств

 


0

1

Здравствуйте, подскажите пожалуйста.

Есть такая ситуация:


Item {
    id: item
    property string name: ""
    property var pr: getPr(name)
    property var pr2: pr[0]
    
    onPrChanged: {
        if (pr2 == "x")
            ...
    }
}

Когда происходит изменение name, следует изменение pr, далее следует выполнение onPrChanged, и только потом изменение pr2. А как можно сделать так, чтобы сначало следовало изменение pr2, а потом только onPrChanged ? Просто в onPrChanged у меня используется значение pr2, а оно еще не успевает обновиться на новое...



Последнее исправление: user0228 (всего исправлений: 1)

Ответ на: комментарий от ya-betmen

он может измениться, а можен не измениться, if просто для примера написал, там просто код который зависит от значения pr

user0228
() автор топика
Ответ на: комментарий от user0228

Перемести код, который зависит от значения пр2 в onPr2Changed. Ну или

Item {
    id: item
    property string name: ""
    property var pr: getPr(name)
    property var pr2: pr[0]
    
    onPrChanged: {
        setTimeout(function(){
            if (pr2 == "x")
                ...
        }, 1000);
    }
}
ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Item {
    id: item
    property string name: ""
    property var pr: getPr(name)
    property var pr2: {
        const v = pr[0];
        if (v == "x")
            ...
        return v;
    }
}
tnodir
()
Последнее исправление: tnodir (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.