用户界面-Fedora上的ruby gtk安装问题



我最近想在我的Fedora 15盒子上安装GTK的Ruby绑定。我用yum安装了所有的包(ruby-gtk2ruby-gtk2-devel等等),当我尝试用Ruby做一个简单的Hello World GUI应用程序时,我得到了一个NameError。这是代码:

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

首先,您想要引入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)

这几乎耗尽了我(目前)对RubyGtk绑定的了解,但希望它能让你朝着正确的方向前进。

相关内容

  • 没有找到相关文章

最新更新