在 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
有几个用于加载图像的构造函数:
- from_icon_name 从当前图标主题加载图像(这对支持用户主题很有用)。
- from_resource 从嵌入的
GResource
. 加载图像
- from_file 从文件加载图像。
查看Gtk.Image
的主要文档了解更多方法。其他一些小部件具有类似的方法来加载图像(例如工具栏按钮)。
你不应该再使用 from_stock
(Gtk+ 中有一个 stock
系统正在被 freedesktop.org 图标模式取代)。
上下文
我是 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
有几个用于加载图像的构造函数:
- from_icon_name 从当前图标主题加载图像(这对支持用户主题很有用)。
- from_resource 从嵌入的
GResource
. 加载图像
- from_file 从文件加载图像。
查看Gtk.Image
的主要文档了解更多方法。其他一些小部件具有类似的方法来加载图像(例如工具栏按钮)。
你不应该再使用 from_stock
(Gtk+ 中有一个 stock
系统正在被 freedesktop.org 图标模式取代)。