Как мне сделать эти кнопки GTK, которые нарисованы вместе в группе? - PullRequest
0 голосов
/ 10 апреля 2020

В GTK есть способ нарисовать группу кнопок вместе, чтобы они выглядели как одна большая кнопка с разделителем между ними, а не как кнопки, которые разнесены друг от друга. Это полезно для рисования кнопок, имеющих сходную функцию.

Вот пример из инспектора GTK, где они выглядят как кнопки переключения, где может быть выбрана только одна:

enter image description here

Другой пример из Glade, где каждая кнопка представляет категорию виджетов и открывает меню:

enter image description here

Как называется этот стиль кнопок и как их сделать?

1 Ответ

1 голос
/ 11 апреля 2020

Пример GTK Inspector показывает GtkStackSwitcher , специальный виджет, используемый для управления GtkStack (для переключения страниц).

Как правило, для достижения этого визуального эффекта для группа кнопок, GtkButtonBox используется со стилем макета, установленным в GTK_BUTTONBOX_EXPAND.

Кнопки расширяются, чтобы заполнить поле. Это влечет за собой придание кнопкам «связанного» вида, придание разным размерам кнопок и установку расстояния между ними 0

Вы также можете вручную добавить «связанный» стиль в любой контейнер с кнопками:

GtkStyleContext *context;
...
context = gtk_widget_get_style_context(button_box);
gtk_style_context_add_class(context, GTK_STYLE_CLASS_LINKED);

HowDoI / Buttons (пункт «Связанные кнопки»)

...