проблема установки ruby ​​gtk на Fedora - PullRequest
0 голосов
/ 24 июня 2011

Недавно я хотел установить привязки Ruby для GTK на моей коробке Fedora 15. Я установил все пакеты с yum (ruby-gtk2, ruby-gtk2-devel, все это), и я получаю NameError при попытке сделать простое приложение Hello World с графическим интерфейсом на Ruby. Вот код:

require 'gtk'

window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)
button = Gtk::Button.new("Hello World")

window.set_title("Hello Ruby")
window.border_width(10)

# Connect the button to a callback.
button.signal_connect('clicked') { puts "Hello Ruby" }

# Connect the signals 'delete_event' and 'destroy'
window.signal_connect('delete_event') {
    puts "delete_event received"
    false
}
window.signal_connect('destroy') {
    puts "destroy event received"
    Gtk.main_quit
}

window.add button
window.show_all
Gtk.main

1 Ответ

1 голос
/ 24 июня 2011

Прежде всего, вы хотите ввести gtk2, а не gtk, поэтому измените require на следующее:

require 'gtk2'

Затем из точного руководства :

Gtk::Window.new(type = Gtk::Window::TOPLEVEL)

Создает новое Gtk::Window, окно верхнего уровня, которое может содержать другие виджеты.

Так что вы нена самом деле нужно указать type, когда вы хотите окно верхнего уровня, но если вы хотите указать type, тогда вы хотите использовать Gtk::Window::TOPLEVEL константу, а не Gtk::WINDOW_TOPLEVEL:

window = Gtk::Window.new(Gtk::Window::TOP_LEVEL)

Тов значительной степени исчерпывает мои (текущие) знания о привязках Ruby Gtk, но, надеюсь, это заставит вас двигаться в правильном направлении.

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