为了好玩,我决定选择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)
我想也许我不能打包一个尚未包含任何小部件的空盒子?我需要做些什么才能明确地实例化这些盒子吗?
答案 0 :(得分:1)
在调试时我有一个座右铭。 It's always something stupid
在这种情况下它是。在我的实际代码中,我使用的是一个名为main_parition
的框,这是main_partition
的拼写错误,我在一段不可原谅的时间内没有抓到。
所以回答我自己的问题,是的,我没有实例化我的盒子,因为我的名字与我创建它的名称略有不同。 Ruby并没有为你检查。
故事的道德:始终确保您的变量名称是正确的,尤其是在不检查您的语言中。
答案 1 :(得分:0)
您可能想尝试使用visualruby来避免手动编码您的盒子。它现在仍处于开发阶段,但我很快就会上传新版本。转到: