Rhythmbox のプラグインを作成しています。発生したシグナルは type のオブジェクトに渡されますGArray
。GLib 配列のドキュメントには、私が興味を持っているがアクセスできないいくつかのメソッドが示されています。
たとえば、g_array_indexは GArray のn 番目の項目を取得できますが、それを呼び出すことができません。GArray オブジェクトも、有用なメソッドを示していません。
私が何を意味するかを確認するには、Python コンソールで次のようにします。
from gi.repository.GLib import Array
x = Array()
dir(x)
ここに dir(x) の出力があります
['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__gtype__', '__hash__', '__info__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_free_on_dealloc', 'copy', 'data', 'len']
そこには配列から読み取られたメソッドはなくg_array_index
、GLib 配列のドキュメントページに記載されているメソッドやその他のメソッドについても何も表示されません。私も試しました
for a in x:
print a
また、
list(x)
しかし、私はエラーを受け取ります:
TypeError: 'Array' object is not iterable
x[0] を試みると、次のようになります。
TypeError: 'Array' object does not support indexing
このlen
プロパティは、期待どおりの配列の長さを示します。
data
プロパティはこれを与えます
渡されたこの GLib.Array を操作するにはどうすればよいですか?
Python 2.7.4 を実行しています