gpt4 book ai didi

ruby glade/gtkbuilder 示例?

转载 作者:数据小太阳 更新时间:2023-10-29 08:16:10 26 4
gpt4 key购买 nike

我在新版本的 glade3 中使用 ruby​​ 和 glade2 设计了一段时间的用户界面,我可以使用 gtkbuilder 格式来生成 xml 文件而不是 libglade。

有例子吗?我搜索了谷歌,但我没有运气!

最佳答案

这真的很简单:只需使用 Glade 创建您的 GUI(并将其保存为 GtkBuilder),然后在 ruby​​ 中使用它:

require 'rubygems'
require 'gtk2'
# require 'libglade2' #you don't need this anymore

builder = Gtk::Builder.new
builder.add_from_file(file)
builder.connect_signals {|handler| method(handler) }

第一行创建 Builder 对象,它负责根据您的 xml 定义创建 Glib::Objects 并存储它们供以后使用(您可以调用 get_object(objname) 在构建器上,它将返回用 objname 定义的小部件。

第二行实际上加载了您的接口(interface)定义,其中 file 是您的 gtkbuilder 文件的路径。

第三行有点晦涩。 connect_signals 为您在界面中定义的每个信号调用一次提供的 block 。 handler 只是一个字符串(信号的名称)。您应该从该 block 返回一个 proc(或任何可使用 call 调用的对象):每次触发 handler 定义的信号时都会调用该 block 。在这个例子中, block 只是返回一个与信号同名的方法(并且,为了简单起见,假设接口(interface)中定义的每个信号都有一个方法)。

关于ruby glade/gtkbuilder 示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1017908/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com