【发布时间】:2012-01-12 23:39:18
【问题描述】:
为了好玩,我决定学习 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)
我在想也许我不能打包一个还没有包含任何小部件的空盒子?我需要做些什么来显式实例化这些框吗?
【问题讨论】:
-
看起来不错。查看this code 是否运行。这里似乎运行良好
-
我真的想通了。这是一件愚蠢的事情。这是我调试代码的座右铭:“它总是很愚蠢”。我使用了一个名为 main_parition 的框并将其称为 main_partition。 Ruby 没有意识到我在尝试做什么,并创建了一个新的未实例化变量。我花了比我希望它必须注意到的时间更长的时间。我会发布我自己问题的答案,并在可能的时候关闭它。
-
这句座右铭经常是对的! :)... 啊不同的发布代码。这是我首先想到的事情之一,检查你的 var 名称,我猜应该在评论中发布:\ ...很好,你想通了! ^^