PyGtk3 - 创建带有图标的 Gtk.TreeView 列 header?
PyGtk3 - Creating a Gtk.TreeView column header with an icon?
我已将 Gtk.ListStore(int, str)
设置为 Gtk.Treeview。从此Gtk.ListStore,我只显示代表商店商品名称的str。
# Create store and set it to the model
self.__treeview_store = Gtk.ListStore(int, str) # (Sample_ID, Sample_Name)
self.__w_treeview.set_model(self.__treeview_store)
# Render column name
self.__w_samples_renderer_text = Gtk.CellRendererText()
self.__w_samples_column = Gtk.TreeViewColumn("Muestras", self.__w_samples_renderer_text, text=1)
self.__w_treeview.append_column(self.__w_samples_column)
# Sort by name
self.__w_samples_column.set_sort_column_id(1)
我不想在我的商店中存储任何 Pixbuf。我正在尝试在 列 header 旁边添加一个图标,如下图所示:
我已经设法实现了以下目标,但还没有达到我想要的效果。我会保持更新。
我所做的是创建一个水平 Gtk.Box,其中包含一个 Gtk.Label 和一个 Gtk.Button。我已将此框放在 Gtk.TreeView 上方。我已经用 Glade 做到了这一点。您还应该使用 Gtk.TreeView.set_headers_visible(False)
隐藏 Gtk.TreeView 的列,这样您就只有 Widget 作为列。
# [2] The TreeView column
self.__w_treeview.set_headers_visible(False)
self.__w_samples_renderer_text = Gtk.CellRendererText()
self.__w_samples_column = Gtk.TreeViewColumn("", self.__w_samples_renderer_text, text=1)
self.__w_samples_column.set_sort_column_id(1)
self.__w_treeview.append_column(self.__w_samples_column)
我已将 Gtk.ListStore(int, str)
设置为 Gtk.Treeview。从此Gtk.ListStore,我只显示代表商店商品名称的str。
# Create store and set it to the model
self.__treeview_store = Gtk.ListStore(int, str) # (Sample_ID, Sample_Name)
self.__w_treeview.set_model(self.__treeview_store)
# Render column name
self.__w_samples_renderer_text = Gtk.CellRendererText()
self.__w_samples_column = Gtk.TreeViewColumn("Muestras", self.__w_samples_renderer_text, text=1)
self.__w_treeview.append_column(self.__w_samples_column)
# Sort by name
self.__w_samples_column.set_sort_column_id(1)
我不想在我的商店中存储任何 Pixbuf。我正在尝试在 列 header 旁边添加一个图标,如下图所示:
我已经设法实现了以下目标,但还没有达到我想要的效果。我会保持更新。
我所做的是创建一个水平 Gtk.Box,其中包含一个 Gtk.Label 和一个 Gtk.Button。我已将此框放在 Gtk.TreeView 上方。我已经用 Glade 做到了这一点。您还应该使用 Gtk.TreeView.set_headers_visible(False)
隐藏 Gtk.TreeView 的列,这样您就只有 Widget 作为列。
# [2] The TreeView column
self.__w_treeview.set_headers_visible(False)
self.__w_samples_renderer_text = Gtk.CellRendererText()
self.__w_samples_column = Gtk.TreeViewColumn("", self.__w_samples_renderer_text, text=1)
self.__w_samples_column.set_sort_column_id(1)
self.__w_treeview.append_column(self.__w_samples_column)