Могут ли быть «перехвачены»выбранные строки списка?

#python #gtk #gtk3 #pygtk

Вопрос:

У меня есть ListBox «с рядами». При нажатии на один из ListBoxRows них он должен выбрать его нормально, если foo() возвращается True , но в противном случае должно появиться окно подтверждения с возможностью его выбора. Только после подтверждения выбора следует выбрать выбранную строку.

Я уже реализовал его до сих пор, но мне трудно заставить его воспроизводить обычную » анимацию «при нажатии кнопки. Могу ли я как-то заставить его это сделать?


Если кто-нибудь еще наткнется на это позже, я заставлю его работать (за исключением обычной анимации выделения), используя фрагмент, выглядящий примерно так:

 
lbr = ListBox()
lbr.connect("row-activated", bar)

for i in rows:
   row = ListBoxRow()
   row.set_selectable(False)
   row.set_activatable(True)
   row.add(Label("Example"))
   lbr.add(row)

def bar(_, row):
   if foo(row):
      lbr.select_row(row)