I try to create a TreeView in GTK4 using python. I managed to create columns which show up correctly - the generated rows also show up but they show no values as if there was no CellRenderer specified...
import gi
gi.require_version('Gtk', '4.0')
from gi.repository import Gtk
...
colA = Gtk.TreeViewColumn("Title A", Gtk.CellRendererText())
colB = Gtk.TreeViewColumn("Title B", Gtk.CellRendererText())
self.treeStore = Gtk.TreeStore(str, str)
self.tree = Gtk.TreeView.new_with_model(self.treeStore)
self.tree.append_column(colA)
self.tree.append_column(colB)
for i in range(0, 10):
self.treeStore.append(None, [str(i), "Hi"])
How can i make the values appear?
Full example
import gi
gi.require_version('Gtk', '4.0')
from gi.repository import Gtk
class Example(Gtk.Application):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.connect('activate', self.on_activate)
def on_activate(self, app):
self.win = MainWindow(application=app, title="Example TreeView")
self.win.present()
class MainWindow(Gtk.ApplicationWindow):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.set_default_size(600, 400)
colA = Gtk.TreeViewColumn("Title A", Gtk.CellRendererText())
colB = Gtk.TreeViewColumn("Title B", Gtk.CellRendererText())
self.treeStore = Gtk.TreeStore(str, str)
self.tree = Gtk.TreeView.new_with_model(self.treeStore)
self.tree.append_column(colA)
self.tree.append_column(colB)
for i in range(0, 10):
self.treeStore.append(None, [str(i), "Hi"])
self.set_child(self.tree)
app = Example()
app.run()