c - 在 C 中使用 GTK 构建 GUI,使用基本的 Widgets 一切皆有可能吗?或者我应该建立一个自定义的?

标签 c gtk

首先,我是 GTK 的新手,不会认为自己对 C 非常有经验。

我目前正在做一个项目,我必须在 C 中构建一个 GTK GUI。我已经开始修补 GTK 库,但似乎找不到与我必须制作 UI,尤其是在使用现有小部件构建布局时。

由于我对 GTK 不是很熟悉,我想知道是否应该为我想做的事情构建自己的小部件?我已经添加了我想要实现的渲染图像:

render

是否可以在不构建自定义小部件的情况下实现这种外观?

是否有存在于 GTK 之上且具有更多 Widget 的库可以帮助我解决这个问题?

谢谢。

最佳答案

几乎所有你在那里得到的东西都可以用内置的小部件来完成,除了可能电话图标从该容器顶部的偏移。您应该尽可能使用内置小部件。

您真正需要的是 CSS 样式。这将允许您自定义现有小部件的外观。您可以为所有特定类型的小部件设置样式,或者您可以将类添加到 UI 文件中的各个小部件并对其应用样式。

例如,您可能想添加一个带有一些 CSS 的 notification-row 类:

.notification-row {
  background-color: grey;
  border-radius: 6px;
}

Here's a list of available CSS properties .

要将 CSS 文件添加到您的程序中,请将其添加到您的 .gresources.xml 文件中,然后按照 GtkCssProvider 的说明中的说明进行操作。 .

关于c - 在 C 中使用 GTK 构建 GUI,使用基本的 Widgets 一切皆有可能吗?或者我应该建立一个自定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67841639/

相关文章:

c++ - 类型 cast char array[16] to int 128 bits

c - 在c中实现管道,但它不起作用

c - 如何在c中使用gtk创建透明按钮

c - (未)签名短整型 (C)

c - 系统调用kill将子进程转换为僵尸进程

c - Libcurl C - 保存信息数组

c - GTK3:获取鼠标滚动方向

c# - 如何使用 NodeView 获得可调整大小和可排序的列?

linux - Nautilus 文件浏览器和 GtkIconView

java - Swing 中的字体渲染丑陋