我想编写一个将字典转换为Gtk-ListStore的函数,其中Gtklist-store应该有n列,第一列是字典的键和值,其余是空字符串。 N应该由用户给出。
ListStore的构造函数需要列的类型。如何用正确的数字指定它们?
这是仅支持2或3列的函数来演示问题:
def dict2ListStore(dic, size=2):
if size == 2:
liststore = Gtk.ListStore(str, str)
for i in dic.items():
liststore.append(i)
return liststore
elif size == 3:
liststore = Gtk.ListStore(str, str, str)
for i in dic.items():
l = list(i)
l.append("")
liststore.append(l)
return liststore
else:
print("Error!")
return
答案 0 :(得分:3)
liststore = Gtk.ListStore(*([str] * size))
[str] * size
是size
重复str
的列表。
func(*args)
是将序列args
中包含的值作为多个参数传递的方法。