GTK嵌套盒

时间:2012-01-12 23:39:19

标签: ruby gtk

为了好玩,我决定选择Ruby并在GTK中做一些事情。这对我来说几乎是全新的,但我已经掌握了基础知识。

目前,我无法弄清楚如何在另一个盒子中正确嵌套盒子。例如,我有以下几点:

window = Gtk::Window.new

main_box = Gtk::HBox.new(false, 2)
left_box = Gtk::VBox.new(false, 2)
right_box = Gtk::VBox.new(false, 2)

main_box.pack_start(left_box, true, true, 0)
main_box.pack_start(right_box, true, true, 0)

window.add(main_box)

在我的头顶,这样的东西应该创建一个布局,两个垂直框并排放置。我试图打包时一直出错。

undefined method 'pack_start' for nil:NilClass (no method error)

我想也许我不能打包一个尚未包含任何小部件的空盒子?我需要做些什么才能明确地实例化这些盒子吗?

2 个答案:

答案 0 :(得分:1)

在调试时我有一个座右铭。 It's always something stupid

在这种情况下它是。在我的实际代码中,我使用的是一个名为main_parition的框,这是main_partition的拼写错误,我在一段不可原谅的时间内没有抓到。

所以回答我自己的问题,是的,我没有实例化我的盒子,因为我的名字与我创建它的名称略有不同。 Ruby并没有为你检查。

故事的道德:始终确保您的变量名称是正确的,尤其是在不检查您的语言中。

答案 1 :(得分:0)

您可能想尝试使用visualruby来避免手动编码您的盒子。它现在仍处于开发阶段,但我很快就会上传新版本。转到:

http://visualruby.net