Как увеличить размер элемента управления деревом при увеличении количества дочерних элементов

У меня есть прокручиваемое окно, и я размещаю несколько элементов управления деревом в прокручиваемом окне. Когда я когда-либо добавляю больше дочерних элементов в корень любого дерева, он создает окно прокрутки, чтобы убедиться, что все дочерние элементы будут доступны. Чего мне нужно добиться, так это увеличения размера, выделенного для дерева ctrl вместо прокручиваемого окна. Как мне этого добиться


person StraightCirle    schedule 10.09.2015    source источник


Ответы (1)


Я думаю, что нет автоматического метода, который может это сделать. Вам придется реализовать это вручную, т.е. когда вы закончите вставки, вы явно вызовете изменение размера элемента управления. Вот фрагмент кода C++, взятый из этот вопрос

treeCtrl->InvalidateBestSize();
treeCtrl->SetClientSize(treeCtrl->GetBestSize());

Версия Python не должна сильно отличаться — вероятно, операторы -> придется заменить точками.

person Alberto M    schedule 14.09.2015
comment
Спасибо Альберто за ваш ответ. Я решил эту проблему с помощью команды treeCtrl-›setMaxSize(wxDefalultSize). Это изменит размер окна управления деревом по мере увеличения количества дочерних элементов. - person StraightCirle; 16.09.2015
comment
Хорошо, хотя мой ответ не подходит для вашего случая, я рад узнать, что ваша проблема решена. Возможно, ваше решение будет полезно и для моих будущих проектов. - person Alberto M; 16.09.2015