Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: eugene.n от Ноябрь 10, 2017, 11:53



Название: QTreeView анимация при раскрытии ветки (expand)
Отправлено: eugene.n от Ноябрь 10, 2017, 11:53
(Qt 5.7) Есть QTreeView с настройкой setAnimation(true).
Если открыть ветку при нажатии на значок ветки, то она открывается с анимацией.
Если открыть ветку двойным нажатием щелчком мыши на элементе, ветка раскрывается, но без анимации, а сразу отрисовываются все элементы.

Пробовал перегрузить mouseDoubleClickEvent()  и в нем вызвать expand(), и анимация все равно не работает.

Есть у кого-нибудь идеи в чем может быть дело?  :(


Название: Re: QTreeView анимация при раскрытии ветки (expand)
Отправлено: ViTech от Ноябрь 10, 2017, 12:48
А зачем вам анимация при двойном клике? По-моему, в этом случае анимацию специально отключили для пользователей, которые хотят быстро работать с элементами управления, а не ждать, пока всё красиво нарисуется.


Название: Re: QTreeView анимация при раскрытии ветки (expand)
Отправлено: eugene.n от Ноябрь 10, 2017, 13:41
А зачем вам анимация при двойном клике? По-моему, в этом случае анимацию специально отключили для пользователей, которые хотят быстро работать с элементами управления, а не ждать, пока всё красиво нарисуется.

Просто я скрыл иконки браэнча, так чтобы дерево было похоже на listview, но при этом, каждый элемент имеет потомков. И при клике на элемент, потомки появляются в этом же листе, без отступов.
Но хотелось бы, чтобы они появлялись с анимацией.

Нашел ответ (https://stackoverflow.com/a/19441532/2356164) !