Ближайший, который я смог получить, - это немного клочья. Я использую Perl, а не Python, поэтому я просто опишу свою технику.
Подключитесь к сигналу события прокрутки древовидного дерева и смотрите направление = левое/правое (или плавное с get_scroll_deltas(), возвращающее ненулевое значение для оси X). Обязательно верните FALSE для вертикальной прокрутки, чтобы он оставался незатронутым. Затем отобразите/скройте столбцы после фиксированного (-ов) и верните TRUE.
Например: при прокрутке вправо, скрыть столбец 2, затем 3 и т. Д. При прокрутке влево отобразите скрытый столбец с самым высоким номером.
Есть пара недостатков:
- Это не так гладко, как то, что вы ищете (столбцы не могут быть частично скрыты).
- Не работает с полосой прокрутки, только при наклоне колеса мыши. Не у всех мышей есть наклонные колеса.
При прокрутке слева направо все окно внутри полосы прокрутки перемещается. Как я узнаю, что конкретные столбцы были скрыты? –
Поскольку это будет ваш обратный вызов, который их скрывает, вам придется отслеживать, какие из них вы скрыли, а затем повторно показать их. – TheAmigo
Для древовидной структуры нет явных обратных вызовов, чтобы скрыть столбцы, но tree tree tree обрабатывает их изначально. Теперь я добавил событие, которое испускает, когда scolled полоса прокрутки горизонтально. Теперь, 1) Как я могу получить ширину столбца дерева? 2) Есть ли я, я могу частично скрыть столбец? –