Как использовать Atk.Relation в Python

Я пытаюсь перенести приложение из gtk2 в gtk3 с помощью GObject Introspection (gi.repository).

Проблема, которую я имею сейчас, создает Atk.Relation в методе доступности, который выглядит так:

from gi.repository import Atk

def atk_acc(obj, lbl):

    atk_obj = obj.get_accessible()
    atk_l = lbl.get_accessible()

    relation_set = atk_l.ref_relation_set()
    relation = Atk.Relation.new([atk_obj], 1, Atk.RelationType.LABEL_FOR)
    relation_set.add(relation)

Когда я запускаю приложение, оно ломается с исключением:

Traceback (most recent call last):
  File "/home/erick/Desarrollo/git/canaima-instalador/canaimainstalador/main.py", line 237, in siguiente
    CFG['w'].next('Metodo', Metodo, (CFG), PasoMetodo(CFG))
  File "/home/erick/Desarrollo/git/canaima-instalador/canaimainstalador/pasos/metodo.py", line 63, in __init__
    atk_acc(self.cmb_discos, self.lbl1)
  File "/home/erick/Desarrollo/git/canaima-instalador/canaimainstalador/mod_accesible.py", line 37, in atk_acc
    relation = Atk.Relation.new([atk_obj], 1, Atk.RelationType.LABEL_FOR)
  File "/usr/lib/python2.7/dist-packages/gi/types.py", line 72, in constructor
    return info.invoke(cls, *args, **kwargs)
TypeError: Expected Atk.Object, but got GObjectMeta

В документации АТК говорится, что первый аргумент Atk.Relation.new это массив.

Что я здесь не так делаю?

0 ответов

Другие вопросы по тегам