2011-05-26 3 views
6

Parece que no puedo conseguir que las regiones de El Cairo funcionen dentro de con gintrospection.Uso de las regiones de El Cairo en python con gi.repository

Por ejemplo

from gi.repository import cairo 

reg = cairo.Region() 

me dará

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

y tratando de conseguir una región de Gdk.get_clip_region() me dará

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

Qué cosa obvia soy yo ¿desaparecido? No puedo encontrar una manera de iniatilizar la biblioteca, y no puedo imaginar que lo necesites para las regiones que parecen una estructura simple. No sé por qué gdk no puede encontrar los tipos de cairo, y no estoy al tanto si se supone que debo mostrarlo de alguna manera.

+0

Tu no solo hace esto por mí. Creo que es un error, cuando alguien ha pasado por alto un par de cosas al escribir los archivos de definición de gir xml. Probablemente se arregle si aún no lo ha hecho en futuras versiones. –

Respuesta

5

Parece que necesitas usar las fijaciones normales de Cairo, incluso cuando usas introspección para todo lo demás.

Así que import cairo.

(no estoy seguro de por qué existe gi.repository.cairo ...)

Y el error "no se pudo encontrar la conversión" va a desaparecer cuando se tiene todo las bibliotecas necesarias (por ejemplo, en Ubuntu necesita el paquete python-gi-cairo además de (o el eq paquetes de python3 uivalent)).

Cuestiones relacionadas