(Python Gtk) Обновление содержимого ListBox - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь динамически добавить элемент в ListBox. Работает без функции, но не с.

Работает

rootbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10)

button = Gtk.Button(label="ok")
listbox = Gtk.ListBox()

el = Gtk.ListBoxRow()
label = Gtk.Label('Element 0')
el.add(label)
listbox.add(el)

button.connect("clicked", addList)

rootbox.pack_start(button, False, True, 0)
rootbox.pack_start(listbox, True, True, 0)

window.add(rootbox)

Не работает (печатает 'ok', но не добавляет элемент)

# -------------------
def addList(b):
    print('ok')
    global listbox
    el = Gtk.ListBoxRow()
    label = Gtk.Label('Element 0')
    listbox.add(el)
# -------------------

rootbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10)

button = Gtk.Button(label="ok")
listbox = Gtk.ListBox()

button.connect("clicked", addList)

rootbox.pack_start(button, False, True, 0)
rootbox.pack_start(listbox, True, True, 0)

window.add(rootbox)

# -------------------------------------------

Заранее спасибо

1 Ответ

0 голосов
/ 18 мая 2019

window.show_all() необходимо в конце функции addList !Надеюсь, это поможет

...