我想用Glade 3(gtk)和ruby製作一個gui,但無法弄清楚如何實際用一個字符串列表動態填充組合框。在我在Glade中直觀地製作我的GUI之後,我得到了xml .glade文件,並使用ruby-glade-create-template生成我的.rb文件,但不知道該從哪裏下載。我找不到任何有關如何使用Glade 3的紅寶石的指南,任何幫助,將不勝感激。謝謝!如何使用/用Ruby/Glade填充組合框3
1
A
回答
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
這是一些示例代碼初始化一個組合框,是我用腳本名稱來填補。
0
爲什麼你需要生成一個.rb文件?代碼生成是Frowned Upon™。 那麼你用一個Gtk::Builder實例加載glade文件?一旦你有了Builder對象,你可以調用get_object方法來獲取特定的小部件。
這是關於glade 3的一個很好的教程,它不包括ruby,但python足夠接近。它是過時了那麼一點點了一些bug提到,如果您使用的是最新的林間空地的版本也出現了固定3.
0
如果使用visualruby,你可以創建一個這樣的組合框:
combo = VR::SimpleComboBoxEntry("Selected", "Option1", "option2", "Option3")
@builder["vbox1"].add(combo)
出於某種原因,格萊德並不簡單組合框工作。當您選擇簡單文本類型時,它不會在xml文件中正確保存。所以,你需要做的是在你希望組合框去的地方放置一個帶有1個單元的VBox或HBox,並將上面的框添加到VBox中。在上面的例子中,@builder是Gtk :: Builder的一個實例。
還有更多的例子在:
相關問題
- 1. 使用WSDL WebService填充組合框
- 2. 使用LINQ查詢填充組合框
- 3. 使用線型填充組合框.NET
- 4. 使用數據填充組合框
- 5. 使用XML屬性填充組合框?
- 6. 填充組合框使用的ObjectDataProvider
- 7. 如何使用webservice使用JQuery填充AjaxControlToolkit組合框
- 8. 填充組合框
- 9. 填充組合框
- 10. 填充組合框
- 11. 填充組合框
- 12. 組合框填充
- 13. 如何使用現有數組填充組合框
- 14. 使用MVVM範例填充與c#的組合框使用MVVM範例填充組合框
- 15. 如何填充組合框在VBdotNet
- 16. 如何動態地填充組合框?
- 17. 如何在XAML中填充組合框
- 18. 如何使用DbfDotNet填充Windows窗體組合框?
- 19. 如何使用相同的json來填充兩個組合框?
- 20. 如何使用VBA填充具有Recordset的組合框
- 21. 如何使用類型填充組合框
- 22. ZK:如何在客戶端使用JavaScript填充zk組合框
- 23. 如何使用查找表來填充組合框
- 24. 如何使用mysql數據填充html組合框
- 25. 如何使用JSON對象填充HTML組合框
- 26. 如何使用數據庫填充組合框
- 27. Javascript - 用新數據填充組合框
- 28. 用XML數據填充組合框
- 29. 用SQL Server列值填充組合框
- 30. 用mysql數據填充組合框