Size: a a a

2020 January 21

Z

Zhan in Qt
Ребят, я хз зайдёт, хочу попробовать, канал создал всяких прикольных видосов, я без рекламы, можете поддержать
https://t.me/joinchat/AAAAAFA-sEkwM6FVZeRadw
источник

AE

Alexey Edelev in Qt
Item {
   Item {
      id: item1
   }
   Item {
      id: item2
   }
}
источник

AE

Alexey Edelev in Qt
Нет гарантии что item1 создастся раньше чем item2
источник

AE

Alexey Edelev in Qt
дальше распространите на дерево\
источник

AE

Alexey Edelev in Qt
в контексте биндингов проблем не будет
источник

AE

Alexey Edelev in Qt
только возможный ворнинг при обращении
источник

AE

Alexey Edelev in Qt
на больших проектах это есть
источник

МС

Михаил Серебренников in Qt
Эм... В этом примере, да и более сложной иерархии проблем с биндингами не будет.  И предупреждения тоже. Это всё, что нужно.
источник

AE

Alexey Edelev in Qt
Михаил Серебренников
Эм... В этом примере, да и более сложной иерархии проблем с биндингами не будет.  И предупреждения тоже. Это всё, что нужно.
Будут если внутри item2 есть обращение к item1 а он еще конструируется
источник

AE

Alexey Edelev in Qt
Item == SomeNonTrivialItem
источник

МС

Михаил Серебренников in Qt
Ну, пример кода?
источник

AE

Alexey Edelev in Qt
Item {
   SomeNonTrivialItem1 {
      id: item1
   }
   SomeNonTrivialItem2 {
      id: item2
   }
}
SomeNonTrivialItem2.qml
Item {
   Text {
      text: item1.someText; //Потенциальное обращение к несозданному объекту
   }
}
источник

AE

Alexey Edelev in Qt
И да то что у вас это не воспроизводилось не значит что вам не повезло
источник

МС

Михаил Серебренников in Qt
А вот и нет. Связывание переменных происходит, после фазы создания элементов.
источник

МС

Михаил Серебренников in Qt
Единственное, когда есть неопределённость в порядки создания - это Loader, ListView и т.п.
источник

МС

Михаил Серебренников in Qt
Точнее, не к самому Loader'у, а к его содержимому. Для обработки этой ситуации есть специальный поля в Loader'е.
источник

МС

Михаил Серебренников in Qt
Вот тут об этом чуть подробнее написано.
https://doc.qt.io/qt-5/qqmlparserstatus.html
источник

RG

Renat Garaev in Qt
Alexey Edelev
Item {
   SomeNonTrivialItem1 {
      id: item1
   }
   SomeNonTrivialItem2 {
      id: item2
   }
}
SomeNonTrivialItem2.qml
Item {
   Text {
      text: item1.someText; //Потенциальное обращение к несозданному объекту
   }
}
Интересный теоретический пример
источник

AE

Alexey Edelev in Qt
Михаил Серебренников
Вот тут об этом чуть подробнее написано.
https://doc.qt.io/qt-5/qqmlparserstatus.html
Возмоооожно я не прав, но последний раз когда я смотрел код инкубации qml компонентов, там не было проверок на "id уже готов"
источник

RG

Renat Garaev in Qt
Михаил Серебренников
Вот тут об этом чуть подробнее написано.
https://doc.qt.io/qt-5/qqmlparserstatus.html
А если идут связывания из разных qml файлов?
источник