如何使用Atk.关系在Python中

2024-05-29 05:57:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用GObject内省(gi.repository)将应用程序从gtk2迁移到gtk3。你知道吗

我现在遇到的问题是在可访问性方法中创建一个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 documentation中,Atk.Relation.new的第一个参数是数组。你知道吗

我做错什么了?你知道吗


Tags: inpyobjhomenewlinefileacc

热门问题