Ich versuche, glade3 mit Ruby zu verwenden, aber leider sind Beispiele dafür rar gesät. Nachdem ich mir angesehen habe, was verfügbar ist, bin ich auf den folgenden Code gekommen, aber es fehlt immer noch etwas, da das Fenster nicht angezeigt wird. Es scheint keine GtkBuilder 'show' Methode zu geben, also bin ich mir nicht sicher, was benötigt wird, um es erscheinen zu lassen. Weiß jemand, was ich tun muss, um das zum Laufen zu bringen?
"hello.xml" ist einfach eine ziemlich einfache glade3-XML-Datei mit einem GtkWindow und einem Button.
#!/usr/bin/env ruby
require 'rubygems'
require 'gtk2'
class HelloGlade
attr :glade
def initialize
if __FILE__ == $0
Gtk.init
builder = Gtk::Builder::new
builder.add_from_file("hello.xml")
builder.connect_signals{ |handler| method(handler) } # (Ich habe noch keine Handler, aber ich werde sie letztendlich haben)
Gtk.main()
end
end
def gtk_main_quit
puts "Gtk.main_quit"
Gtk.main_quit()
end
end
hello = HelloGlade.new
hello.xml:
False
button
True
True
True
False
(bearbeiten)
Ach, so ist es immer. Eine Frage veröffentlichen und die Antwort selbst herausfinden. Ich musste das Objekt window1 von GtkBuilder abrufen und seine show() Methode aufrufen:
...
window = builder.get_object("window1")
window.show()
Gtk.main