【发布时间】:2018-04-08 01:43:10
【问题描述】:
我做了以下列表存储:
# creating list view
store = Gtk.ListStore(GdkPixbuf.Pixbuf, str, bool)
self.get_files(store)
treeview = Gtk.TreeView(store)
treeview.connect("button_press_event", self.on_button1_clicked)
horizontal_box.pack_start(treeview, True, True, 0)
cellrenderertext = Gtk.CellRendererText()
cellrendererpixbuf = Gtk.CellRendererPixbuf()
#column 0 of list view to display icons
treeviewcolumn = Gtk.TreeViewColumn("Icon")
treeview.append_column(treeviewcolumn)
treeviewcolumn.pack_start(cellrendererpixbuf, True)
treeviewcolumn.add_attribute(cellrendererpixbuf, "pixbuf", 0)
#column 1 of list view to display names
treeviewcolumn = Gtk.TreeViewColumn("Name")
treeview.append_column(treeviewcolumn)
treeviewcolumn.pack_start(cellrenderertext, True)
treeviewcolumn.add_attribute(cellrenderertext, "text", 1)
#column 2 of list view to display if it is directory
treeviewcolumn = Gtk.TreeViewColumn("Is Dir?")
treeview.append_column(treeviewcolumn)
treeviewcolumn.pack_start(cellrenderertext, True)
treeviewcolumn.add_attribute(cellrenderertext, "text", 2)
我正在使用以下函数来填充商店:
def get_files(self, store):
for file_name in os.listdir(CURRENT_DIRECTORY):
# modified_time = os.path.getmtime(file_name)
if not file_name[0] == '.':
if os.path.isdir(os.path.join(CURRENT_DIRECTORY, file_name)):
store.append([Gtk.Image.new_from_stock(Gtk.STOCK_DIRECTORY, Gtk.IconSize.MENU), file_name, True])
else:
store.append([Gtk.Image.new_from_stock(Gtk.STOCK_FILE, Gtk.IconSize.MENU), file_name, False])
输出正确显示了名称和“是目录”的列表,但没有显示图标。我在这里做错了什么?
【问题讨论】:
标签: python python-3.x gtk gtk3