GTK: Бесконечный ленивый список виджетов

Мне нужно отображать практически бесконечный прокручиваемый список интерактивных виджетов и добавлять / удалять их по мере необходимости, когда добавляются новые данные или когда пользователь прокручивается в некэшированную область.

TreeView ( как здесь спрашивается ) не вариант, потому что мне нужны полные виджеты как элементы (состоящие из стандартных виджетов с несколькими действиями и т. Д., Но CellRenderer не для этого)

Хуже того, я не заранее знать высоту моих виджетов (хотя небольшая разница), поэтому использование VBox может вызвать скачкообразие.

Использование полосы прокрутки должно по-прежнему ощущаться так, как если бы список был конечным (т.е. обновлялся только после завершения прокрутки, поэтому кнопка прокрутки не работает) t отпрыгнуть от вашей мыши), а при изменении размера окна и обновлении макета окон положение прокрутки не должно сильно меняться (виджет с фокусом должен оставаться на месте, если, конечно, виджет с фокусом не был прокручен …).

Как лучше всего это сделать? Может, даже библиотека, которая просто посылает мне сигнал s когда нужно добавить новый виджет?

Или можно заставить ListView сделать это не слишком неприятным способом? (т.е.нарисуйте закадровый буфер, скопируйте его в ячейку с помощью CellRenderer, передайте события мыши / клавиатуры в фактический виджет?)

7
задан Community 23 May 2017 в 12:20
поделиться