在 Vala 项目中嵌入图像供以后在 UI 中使用

Embed images in Vala project for later use in UI

上下文

我是 Linux 下 Vala 开发的新手(虽然我有多年的 C# 经验),我决定重新创建一个 C# 程序,但是,我需要在UI.

我的问题

如何在 UI 中嵌入资源文件(例如图像)供以后使用?以后如何访问它们?以及如何将它们放入按钮中?

我在用什么

我正在使用 Linux (Mint) 和 Anjuta 开发 IDE,并集成了 Glade UI 设计器。 Vala 项目针对 GTK+ 3.0 项目。

我试过的

我已经尝试为图像添加一个新的特定 objective,将它们添加到项目中...但我似乎没有成功。 我看过 Linux 提供的默认图像,这些图像工作得很好,但我需要添加自己的图像。

提前致谢!

通常的方法是将图像安装到 PREFIX/share/pixmaps/YOUR_APP。例如 Gnumeric 在 /usr/share/pixmaps/gnumeric/.

中安装一些 .png 文件

您可以使用 GResource to embed binary files (like images) into your executable if you really want to. The glib-compile-resources command can be added to your build system (see also this question).

您还可以使用用户图标主题中的图标。

你没有写你想用什么组件来显示你的图片,所以我在这里假设Gtk.Image

Gtk.Image 有几个用于加载图像的构造函数:

查看Gtk.Image的主要文档了解更多方法。其他一些小部件具有类似的方法来加载图像(例如工具栏按钮)。

你不应该再使用 from_stock(Gtk+ 中有一个 stock 系统正在被 freedesktop.org 图标模式取代)。