我想将一个类型和数据列表传递给函数,以注册Gtk.ListStore对象。
它使用单一类型,直接作为参数传递,但是一旦有几种类型,就必须使用容器(列表?)。在这种情况下,我不知道如何将这些类型(str,int等)重新设置为gobject.Gtype。
如果有人有解决方案,那就太好了。
下面的示例代码。
先感谢您。
# Fonctions
def initListStore(lesTypes, laListe):
leStore = Gtk.ListStore(gobject.Gtype(lesTypes))
for item in laListe:
leStore.append(item)
return leStore
# Appli
liste = [('Albert','Einstein'),('Salvador','Dali'),('Alexandre','Dumas')]
lesTypes = 'str str'
lsAuteurs = initListStore(lesTypes,liste)
for row in lsAuteurs:
print (row[:])
最佳答案
这是一种可能的解决方案:
from gi.repository import Gtk
def initListStore(lesTypes, laListe):
leStore = Gtk.ListStore()
leStore.set_column_types(lesTypes)
for item in laListe:
leStore.append(item)
return leStore
# Appli
liste = [('Albert','Einstein'),('Salvador','Dali'),('Alexandre','Dumas')]
lesTypes = (str, str)
lsAuteurs = initListStore(lesTypes,liste)
for row in lsAuteurs:
print (row[:])
关于python - 如何将gobject.Gtype参数传递给函数中的Gtk.ListStore,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48370743/