6

gintrospectionを使用してカイロ領域を機能させることができないようです。

例えば

from gi.repository import cairo

 reg = cairo.Region()

私にくれます

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
MemoryError

Gdk.get_clip_region()からリージョンを取得しようとすると、

    return info.invoke(*args)
TypeError: Couldn't find conversion for foreign struct 'cairo.Region'

私が見逃している明らかなことは何ですか?ライブラリを初期化する方法を見つけることができず、単純な構造体のように見える領域を初期化する必要があるとは想像できません。gdkがcairoタイプを見つけられない理由がわかりません。また、どういうわけかそれを表示することになっているのかどうかもわかりません。

4

1 に答える 1

6

他のすべてにイントロスペクションを使用する場合でも、通常の cairo バインディングを使用する必要があるようです。

だからただimport cairo

(なぜgi.repository.cairo存在するのかはわかりません...)

また、「変換が見つかりませんでした」というエラーは、必要なライブラリがすべて揃っていると消えます (たとえば、Ubuntu では、 (または同等の python3 パッケージ)python-gi-cairoに加えてパッケージが必要です)。python-cairo

于 2012-07-14T02:45:25.760 に答える