我尝试使用python在GTK4中创建一个GTK4。我设法创建了正确显示的列--生成的行也显示出来,但是它们没有显示值,就好像没有指定的CellRenderer .

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"])我怎样才能使这些值出现?
全例
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()发布于 2022-07-17 00:28:41
我设法使它与一个ListStore一起工作:
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)
self.list_store = Gtk.ListStore(str, str)
for i in range(0, 10):
self.list_store.insert_with_values(i, (0, 1), (i, "Hi"))
self.tree = Gtk.TreeView.new_with_model(self.list_store)
colA = Gtk.TreeViewColumn("Title A", Gtk.CellRendererText(), text=0)
colB = Gtk.TreeViewColumn("Title B", Gtk.CellRendererText(), text=1)
self.tree.append_column(colA)
self.tree.append_column(colB)
self.set_child(self.tree)
app = Example()
app.run()https://stackoverflow.com/questions/72921422
复制相似问题