Fwiw, так как у меня недавно был тот же самый вопрос, вот другой ответ с современной цитатой и использованием C вместо некоторой обертки.(Я использую GTKmm, но я чувствую, что мы должны ссылаться на нативный C API, если явно не указана оболочка.)
Я хотел добиться того же и в конце концов наткнулся на ответ на официальной странице HowDoI: кнопки .Этот эффект достигается путем помещения целевых Button
с в Container
и предоставления последнему классу CSS связанный . (на этой странице написано, что использование Box
является нормальным,но, поскольку Box
, вероятно, скоро будет признан устаревшим, а Grid
в любом случае лучше ... используйте Grid
.)
Итак:
GtkWidget *const grid = gtk_grid_new ();
GtkStyleContext *const context = gtk_widget_get_style_context (grid);
gtk_style_context_add_class (context, "linked");
/* Add your Buttons to the Grid */
Эта ссылка также обсуждает некоторые другиеудобные украшения, которые мы можем сделать до GtkButton
с, включая классы предлагаемое действие и деструктивное действие .
Для похожих вопросов очень показательно просмотретьисточник (A) приложения, которое делает то, что вы хотите воспроизвести, и (B) тема Adwaita CSS.