PyGtk3 - Создание заголовка столбца Gtk.TreeView со значком? - PullRequest
0 голосов
/ 08 ноября 2019

У меня 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)

Я не хочу хранить Pixbufs в моем магазине. Я пытаюсь добавить значок рядом с заголовком столбца , как показано на следующем рисунке:

enter image description here

Мне удалосьдобиться следующего, но пока не получается, как я хочу. Я буду держать это в курсе.

enter image description here

1 Ответ

1 голос
/ 08 ноября 2019

enter image description here

Я создал горизонтальный блок Gtk.Box, содержащий элементы Gtk.Label и Gtk.Button. Я поместил этот блок над Gtk.TreeView. Я сделал это с Глейдом. Вы также должны скрыть столбцы вашего Gtk.TreeView с помощью Gtk.TreeView.set_headers_visible(False), чтобы у вас был только виджет в качестве столбца.

    # [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)
...