Название: RowLayout+StackView непонятки Отправлено: Alex Custov от Декабрь 15, 2014, 16:12 Есть RowLayout с содержимым "<Button1><StackView><Button2>". По моему разумению содержимое StackView никак не должно иметь координату x меньше, чем Button1.x+Button1.width. Однако получается так как в аттаче (элемент Text рисуется прямо поверх первой кнопки). Код:
Код: import QtQuick 2.3 После операции push (нажатие на Button2) и pop (нажатие на Button1) первый элемент уже отображается с правильными координатами, а вторая кнопка уезжает за пределы окна. Qt 5.3.2 и 5.4.0. Что неправильно? Название: Re: RowLayout+StackView непонятки Отправлено: vregess от Декабрь 15, 2014, 16:39 Странное поведение (особенно если потыкать на кнопки).
Но в твоем случае, правильнее так: Код: StackView { Название: Re: RowLayout+StackView непонятки Отправлено: Alex Custov от Декабрь 15, 2014, 17:24 Но в твоем случае, правильнее так: Код: StackView { С этими параметрами по крайней мере начальное позиционирование исправилось, но непонятно почему. Вероятно растяжение StackView заставило layout manager пересчитать какие-то свои внутренние структуры и начальный элемент отпозиционировался правильно. Но теперь второй баг - анимация смены элемента 1 на 2 идёт таким образом, что элемент 1 уезжает за пределы StackView влево и фактически движется по кнопке "Button1". Название: Re: RowLayout+StackView непонятки Отправлено: vregess от Декабрь 15, 2014, 17:57 Если я правильно понял, то просто поставь
Код: clip: true у StackView. Название: Re: RowLayout+StackView непонятки Отправлено: Alex Custov от Декабрь 15, 2014, 18:12 Если я правильно понял, то просто поставь Код: clip: true да, с этим заработало. Спасибо за наводку с Layout. |