import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk class MyWindow(Gtk.Window): def __init__(self): Gtk.Window.__init__(self, title="CellRendererAccel Example") # create a treeview self.treeview = Gtk.TreeView() # create a liststore with the columns "accelerator" and "value" self.liststore = Gtk.ListStore(str, str) # add some sample data to the liststore self.liststore.append(["This code creates a treeview with two columns - "Accelerator" and "Value". The "Accelerator" column uses the CellRendererAccel to allow the user to enter an accelerator key. The "Value" column uses the CellRendererText to display a value associated with the accelerator key. The liststore is used to store the data for the treeview. The package library used in this example is the Gtk library, which is a part of the GObject Introspection bindings for Python.a", "Select all"]) self.liststore.append([" c", "Copy"]) self.liststore.append([" v", "Paste"]) # create a CellRendererAccel for the "accelerator" column self.cellaccel = Gtk.CellRendererAccel() # add the renderer to the first column of the treeview self.column1 = Gtk.TreeViewColumn("Accelerator", self.cellaccel, accelerator=0) self.treeview.append_column(self.column1) # create a CellRendererText for the "value" column self.celltext = Gtk.CellRendererText() # add the renderer to the second column of the treeview self.column2 = Gtk.TreeViewColumn("Value", self.celltext, text=1) self.treeview.append_column(self.column2) # set the liststore as the model for the treeview self.treeview.set_model(self.liststore) # add the treeview to the window self.add(self.treeview) win = MyWindow() win.connect("delete-event", Gtk.main_quit) win.show_all() Gtk.main()