顯然,在構造函數中使用listStore模型構建GTKListBox or Treeview中的項目的「正確」方法。如果我想使用Glade GUI項目,其中已經創建了一個列表框,並且參考builder.get_object("appsDocumentListBox")
?如何在Glade的預先創建的列表框上設置listStore模型?
我可以在Gtk.builder創建窗口後設置模型,還是有更好的方法來做到這一點?
我也想知道使用ListStore與手動添加row = Gtk.ListBoxRow()
,添加內容和設置ListBox.add(row)
的性能改進是什麼? (它可以從Glade構建器的Python窗口中工作)
與Treeview不同,顯然Listbox不會在構造函數之後設置模型?
>>> l = Gtk.ListBox()
>>> l.set_model
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'ListBox' object has no attribute 'set_model'
如何爲Glade中的列表框創建模型?是的,我知道你可以將行添加到列表框中,但是如何處理激活行,將結構中的信息保存起來? – NoBugs
您可以將任何小部件添加到列表框中,例如一個'GtkBox'。 ListBoxRow將在兩者之間自動創建。要處理激活,您可以連接到「行激活」信號,我不明白「保存結構中的信息」是什麼意思。 – elya5
我不知道,但我已經添加了一行ListBox,並認爲這是做錯的方法。在行激活信號上,它只是通過列表框和行,所以當你創建可見標題時,沒有明顯的方式來獲取你所擁有的數據。 – NoBugs