| 
 | |||||||
| Выравнивание элементов относительно друг друга 
		  Время создания: 10.01.2018 18:12		  
		    Раздел: Компьютер - Программирование - Язык C++ (Си++) - Библиотека Qt - QML - Краткая памятка по QML		   
		  Запись: xintrea/mytetra_syncro/master/base/1515597153jr1fwony1u/text.html на raw.githubusercontent.com		  
 | |||||||
|  | |||||||
| В QML есть такая особенность: выравнивать элементы можно только относительно элементов того же уровня, либо относительно вышестоящих элементов. Казалось бы, это простое и понятное правило. Но здесь есть непонятки. Что считать вышестоящими элементами? Элементы только той ветки иерархии, в которой находится объект, или любые элементы, уровень вложенности которых меньше, чем выравниваемый элемент? С этим надо разобраться. В следующем коде будет работать выравнивание элемента text1 относительно rectangle1. Но выравнивание text1 относительно text2 работать не будет по причине того, что text2 находится в другой "ветке" иерархии: Rectangle { id: rectangle1 Text { id: text1 text: "Value text 1" anchors.left: rectangle1.horizontalCenter } } Text { id: text2 text: "Value text 2" anchors.left: parent.left anchors.bottom: text1.bottom } И тут не имеет значения, что text1 расположен глубже по иерархии чем text2 (и мог бы выравниваться относительно text2, согласно правилу). Да, он расположен глубже, но в другой "ветке". Поэтому выравнивания text1 относительно text2 не будет производиться. Другими словами, тот факт, что text2 стоит вровень с rectangle1, все равно не позволяет text1 выравниваться относительно text2. Элемент text1 может быть выровнен только относительно rectangle1, то есть выравнивание работает только относительно цепочки своих родителей. | |||||||
| 
 Так же в этом разделе:
  
 | |||||||
|   | |||||||
| 
 | |||||||
| 
 |