Разрешить пользователю изменять порядок списка GTK

У меня есть список элементов в текстовом формате или в колонках, которые я бы хотел, чтобы пользователь мог изменить порядок самостоятельно.
(и я не говорю о простой сортировке по столбцу)

Есть ли виджет, который поддерживает это, или, по крайней мере, часто используемые настройки?

1 ответ

Вы можете использовать виджет GtkTreeView для этого. Элементы внутри этого виджета могут быть переупорядочены по желанию, например, вы можете предоставить кнопки рядом со списком, чтобы обеспечить возможность перемещения по элементам или даже перетаскивание, что может потребовать некоторых усилий для реализации (РЕДАКТИРОВАТЬ: в хотя бы для случая нужно установить правила для переупорядочения). Для каждой ячейки можно установить разные цвета фона и переднего плана, и даже изображения и флажки могут быть упакованы в ячейки. GtkTreeView может использоваться с простыми списками (GtkListStore используется для хранения данных) или для древовидных структур данных (GtkTreeStore).

Есть несколько уроков, один из которых я счел весьма полезным для начала, вот этот. Он также имеет много примеров и фактически связан с официальным сайтом GTK+. Возможно, вы захотите поближе познакомиться с GtkTreeSortable, для которого вы можете определить свои собственные функции сортировки.

Эта тема также подробно освещена в книге Эндрю Краузе " Основы развития GTK+". Сейчас он немного устарел (охватывает GTK 2), но изменений в виджете GtkTreeView внутри GTK пока не так много, поэтому контент по-прежнему применяется.

Другие вопросы по тегам