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

时间:2016-06-05 16:37:57

标签: linux user-interface vala anjuta

上下文

我是Vala开发的新手(尽管我在C#上有多年的经验),我决定重新创建一个C#程序,但是,我需要在UI中使用图像。

我的问题

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

我正在使用

我使用Linux(Mint)和Anjuta开发IDE,集成了Glade UI设计器。 Vala项目的目标是GTK + 3.0项目。

我尝试了什么

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

通常的做法是将图片安装到PREFIX/share/pixmaps/YOUR_APP。例如,Gnumeric在.png中安装了一些/usr/share/pixmaps/gnumeric/个文件。

如果您愿意,可以使用GResource将二进制文件(如图像)嵌入到可执行文件中。可以将glib-compile-resources命令添加到构建系统中(另请参阅this question)。

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

您没有编写要用于显示图像的组件,因此我将在此处假设Gtk.Image

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

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

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