Ruby와 함께 glade3을 사용하려고하는데, 불행히도이 예제는 그리 많지 않습니다. 사용할 수있는 것을 살펴보면 다음 코드를 제시했지만 창은 표시되지 않으므로 누락 된 부분이 있습니다. 어떤 GtkBuilder 'show'메쏘드도없는 것처럼 보이기 때문에, 나는 그것을 보여주기 위해 무엇이 필요한지 잘 모르겠습니다. 누구든지이 일을하기 위해 내가해야 할 일을 알고 있습니까?ruby glade3/gtkbuilder 예제
"hello.xml"은 GtkWindow와 버튼이있는 매우 간단한 glade3 xml 파일입니다.
#!/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) } # (I don't have any handlers yet, but I will have eventually)
Gtk.main()
end
end
def gtk_main_quit
puts "Gtk.main_quit"
Gtk.main_quit()
end
end
hello = HelloGlade.new
hello.xml :
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.24"/>
<!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="window1">
<property name="can_focus">False</property>
<child>
<object class="GtkButton" id="button1">
<property name="label" translatable="yes">button</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
</object>
</child>
</object>
</interface>
(편집)
헉, 그것은 항상 방법입니다. 질문을 올리면 나는 그 대답을 알아 낸다. 프로그램은 visualruby을 사용하면 쓰기가 훨씬 쉬울 것
...
window = builder.get_object("window1")
window.show()
Gtk.main
를 추가해보십시오'<속성 이름 = "볼">''<개체 클래스 = "GtkWindow"ID = "번째 윈도"> 아래' – derp