2009-07-28 13 views
1

Glade 3(gtk)とrubyを使ってguiを作成しようとしていますが、実際にコンボボックスに動的に文字列のリストを入れる方法はありません。私は視覚的にGladeで私のguiを作成し、ruby-glade-create-templateを使用して.rbファイルを生成したが、ここからどこに行くのか分からないとxml .gladeファイルが得られる。私はGlade 3でRubyを使う方法についてのガイドを見つけることができず、何か助けていただければ幸いです。ありがとう!Ruby/Glade 3のコンボボックスの使い方/塗りつぶし方法

答えて

0
def initialize_combobox_script_select() 
    #get combobox widget from glade file 
    @combobox_script_select = @glade.get_widget("combobox_script_select") 
    @combobox_script_select.set_active(0) #this makes <select a script> the default element in the combobox 
    @script_list = ["helloworld", "byeworld"] 
    @script_list.each{|script| @combobox_script_select.append_text("#{script}")} #populate the combobox with the list of scripts 
end 

これは私がスクリプト名でいっぱいにするために使用することを、コンボボックスを初期化するためのいくつかのサンプルコードです。 、いくつかの理由

combo = VR::SimpleComboBoxEntry("Selected", "Option1", "option2", "Option3") 
@builder["vbox1"].add(combo) 

グレイドは、単純なコンボボックスのために動作しません:あなたはvisualrubyを使用した場合

0

なぜ.rbファイルを生成する必要がありますか?コード生成はFrowned Upon™です。 Gtk::Builderインスタンスでグライドファイルをロードしますか? Builderオブジェクトを取得したら、get_objectメソッドを呼び出して特定のウィジェットを取得します。

ここにはglade 3のチュートリアルがありますが、ルビーはカバーしていませんが、Pythonは十分に近いです。それはいくつかのバグは、あなたが空き地の最新バージョンを使用している場合が固定されています述べたように日付少しある3

0

は、次のようなコンボボックスを作成することができます。シンプルなテキストタイプを選択すると、xmlファイルに正しく保存されません。ですから、あなたがする必要があるのは、1つのセルを持つVBoxまたはHBoxをコンボボックスに移動したい場所に配置し、上記のボックスをVBoxに追加することです。上の例では、@builderはGtk :: Builderのインスタンスです。

でより多くの例があります。

http://visualruby.net

は、
関連する問題