Я пытаюсь создать меню с Gtk3 и Python, в котором его записи выровнены как HTML-таблица. значения столбцов имеют разную длину. я хочу, чтобы меню выглядело так:
entry 1 text-of-some-length 1000
entry 2 shorter-text 10
entry 2 shorter-text 100
Думаю, я могу просто использовать Gtk.Grid (), добавить к нему Gtk.Labels () и затем добавить сетку к Gtk.MenuItem (). Вот моя попытка
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, GObject
gi.require_version('AppIndicator3', '0.1')
from gi.repository import AppIndicator3 as appindicator
from os.path import expanduser
#init AppIndicator3 in class
self.ind = appindicator.Indicator.new ("todo-txt-indicator", PANEL_ICON, appindicator.IndicatorCategory.OTHER)
self.ind.set_status (appindicator.IndicatorStatus.ACTIVE)
#generate menu for AppIndicator3
menu = Gtk.Menu()
label_1 = Gtk.Label ()
label_1.set_text ('entry 1')
label_2 = Gtk.Label ()
label_2.set_text ('text-of-some-length')
label_3 = Gtk.Label ()
label_3.set_text ('1000')
grid = Gtk.Grid ()
grid.add (label_1)
grid.attach_next_to (label_2, label_1, Gtk.PositionType.RIGHT, 1, 1)
grid.attach_next_to (label_3, label_2, Gtk.PositionType.RIGHT, 1, 1)
menu_item = Gtk.MenuItem ()
menu_item.add (grid)
menu.append (menu_item)
#set menu to AppIndicator3
self.ind.set_menu (menu)
Но это не работает. отображается только последний элемент (label_3) (в самой левой позиции). Я не понимаю, почему это не работает. Любая помощь приветствуется.