Show Symbol oder Farbe in Gtk TreeView Baum
Ich habe Probleme beim Laden einer Datei oder beim Anzeigen einer Farbe in einer der Spalten eines Gtk TreeView (Python-Bindung von GTK3). Ein Beispiel aus QGIS zeigt ein Symbol in der ersten Zeile und einen blauen Kreis in der zweiten Zeile. Die Farbe wird aus den Layereigenschaften übernommen:
Mein Code sieht folgendermaßen aus, lädt jedoch die Datei icon.png nicht in dasselbe Verzeichnis:
#!/usr/bin/python3
from gi.repository import Gtk, Gdk, GdkPixbuf
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self)
self.set_default_size(200, 200)
self.liststore = Gtk.ListStore(GdkPixbuf.Pixbuf, str)
self.treeview = Gtk.TreeView(model=self.liststore)
symbol1 = GdkPixbuf.Pixbuf.new_from_file("icon.png")
self.liststore.append([symbol1, "This is a symbol1"])
symbol2 = Gtk.IconTheme.get_default().load_icon("gtk-cut", 64, 0)
self.liststore.append([symbol2, "This is symbol2"])
px_renderer = Gtk.CellRendererPixbuf()
px_column = Gtk.TreeViewColumn("Icon", px_renderer)
self.treeview.append_column(px_column)
str_renderer = Gtk.CellRendererText()
str_column = Gtk.TreeViewColumn("Name", str_renderer, text=1)
self.treeview.append_column(str_column)
self.add(self.treeview)
win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
Die Dokumentation zu GTK3 pixbuf ist hier:
https: //lazka.github.io/pgi-docs/index.html#GdkPixbuf-2.0/classes/Pixbuf.htmÄltere Beispiele für PyGTK sind hier, aber etwas hat sich wirklich geändert, wie dies gehandhabt wird:
http: //faq.pygtk.org/index.py? file = faq13.006.htp & req = showhttp: //www.daa.com.au/pipermail/pygtk/2003-August/005644.htm