gtk3 - 如何将这些 GTK 按钮绘制在一组中?

标签 gtk3

GTK 有一种方法可以将一组按钮绘制在一起,使它们看起来像一个大按钮,中间有一个分隔线,而不是分开绘制的按钮。它对于将具有相似功能的按钮绘制在一起非常有用。

这是 GTK 检查器的一个示例,其中它们似乎是专门的切换按钮,只能选择一个:

enter image description here

另一个例子,来自 Glade,其中每个按钮代表一个小部件类别并打开一个菜单:

enter image description here

这种风格的按钮叫什么?如何制作它们?

最佳答案

GTK Inspector 示例显示 GtkStackSwitcher ,一个特殊的小部件,用于控制 GtkStack (用于页面切换)。

通常,要为一组按钮实现这种视觉效果,GtkButtonBox与设置为 GTK_BUTTONBOX_EXPAND 的布局样式一起使用。

Buttons expand to fill the box. This entails giving buttons a "linked" appearance, making button sizes homogeneous, and setting spacing to 0

您还可以手动将“链接”样式添加到任何带有按钮的容器:

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

HowDoI/Buttons (“链接按钮”段落)

关于gtk3 - 如何将这些 GTK 按钮绘制在一组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61146964/

相关文章:

c - 从 C 中生成的 ffmpeg 进程中优雅地提前退出

gtk3 - 瓦拉。你如何删除一个 GTK 容器的所有 child ?

python - 导入错误: cannot import name GdkX11

CSS 与 gtk 3.22.25 无法运行

c++ - 在 GTK+ 中创建关闭对话框的取消按钮的正确方法是什么?

python - 如何在 python 和 GTK 3 中编写自定义 Gtk.CellRenderer?

c - GTK+-3.0-dev 编译时没有这样的文件或目录 (Linux Mint/gcc)

python - 如何在 Gtk.Grid 的单元格周围放置边框,就像在 HTML 表格中一样?

c++ - 为什么 g++ 不能编译一个简单的 GTK 程序?

c - 如何将鼠标光标设置为 Gtk DrawingArea 上的十字线?