Вложенные коробки GTK - PullRequest
       4

Вложенные коробки GTK

1 голос
/ 13 января 2012

Ради интереса я решил взять 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 ]

1 голос
/ 14 января 2012

У меня есть девиз, когда дело доходит до отладки.It's always something stupid

И в этом случае так и было.В моем реальном коде я использовал поле с именем main_parition, неправильное написание main_partition, которое я не уловил в течение непростительно долгого времени.

Так что, чтобы ответить на мой собственный вопрос, да, я не смог создать экземпляр своего ящика, потому что я называл его немного другим именем, чем то, с которым я его создал.И Руби не проверяет это для вас.

Мораль истории: всегда проверяйте правильность имен переменных, особенно на языках, которые вас не проверяют.

0 голосов
/ 18 марта 2012

Возможно, вы захотите попробовать visualruby, чтобы не вводить код вручную.Он все еще находится в стадии разработки, но я скоро буду загружать новую версию.Перейти к:

http://visualruby.net

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...