标签: ruby-gnome2

包装红宝石gtk应用程序

将用ruby构建的gtk2 / gtk3应用程序打包为Windows,Linux,MacOS的可执行文件,最令人头疼的技术是什么?

我找不到任何指南或助手来解决此问题,以解决ruby gtk的问题。红宝石-侏儒宝石也没有包装器。

我的理解是gtk是跨平台的,因此做到这一点并不容易。问题是我找不到可靠的例子作为例子并学习步骤。

ruby gtk gtk2 ruby-gnome2 gtk3

5
推荐指数
1
解决办法
139
查看次数

什么是必须与 gtk_builder_new_from_resource 一起使用的资源路径?

我了解函数的参数是什么,gtk_builder_new_from_file或者gtk_builder_new_from_string我有点想知道什么是资源路径,例如:

GtkBuilder *
gtk_builder_new_from_resource (const gchar *resource_path);
Run Code Online (Sandbox Code Playgroud)

我找不到任何示例(C、python、vala 或其他我不介意的)。

编辑:解决方案

感谢 gnianmt 的帮助,这里是 ruby​​ 中的一个基本示例(https://github.com/ruby-gnome2/ruby-gnome2):

首先是一个简单的 ui 文件simple_window.ui

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
  <requires lib="gtk+" version="3.12"/>
  <object class="GtkWindow" id="window">
    <property name="can_focus">False</property>
    <child>
      <object class="GtkLabel" id="label">
        <property name="visible">True</property>
        <property name="can_focus">False</property>
        <property name="label" translatable="yes">label</property>
        <property name="ellipsize">end</property>
      </object>
    </child>
  </object>
</interface>
Run Code Online (Sandbox Code Playgroud)

然后创建一个simple_window.gresource.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/simple_window">
    <file>simple_window.ui</file>
  </gresource>
</gresources>
Run Code Online (Sandbox Code Playgroud)

将其打包为:

glib-compile-resources simple_window.gresource.xml
Run Code Online (Sandbox Code Playgroud)

其中创建一个 simple_window.gresource 二进制文件。

现在红宝石脚本: …

ruby ruby-gnome2 pygobject gtk3

5
推荐指数
1
解决办法
2889
查看次数

标签 统计

gtk3 ×2

ruby ×2

ruby-gnome2 ×2

gtk ×1

gtk2 ×1

pygobject ×1