2012-03-29 11 views
7

Estoy usando el complemento PyDev para Eclipse con integración Qt. Tengo PySide instalado y estoy teniendo problemas con los formatos de imagen SVG. Sé que cuando ejecuto mi aplicación, se encuentran los formatos ubicados en C:\Python27\Lib\site-packages\PySide\plugins\imageformats. Todos menos el formato SVG. Puedo eliminar el qico4.dll y ya no los encuentra y volver a colocarlos y los encuentra de nuevo.¿No se encuentran los formatos de imagen de PySide SVG?

estoy usando esta línea en mi código: plugs = QtGui.QImageReader.supportedImageFormats()

Se encuentra todos los formatos excepto el formato SVG desde el qsvg4.dll? ¿Por qué sería esto? He buscado, buscado y buscado, y parece que no puedo averiguar por qué. ¿Debería aparecer el formato en los formatos de imagen admitidos? ¿Hay algo más que deba hacer para usar imágenes SVG? Puedo usar archivos .ico finos que requieren el qico4.dll y están ubicados en el mismo lugar, por lo que no entiendo cuál es el problema. ¡Cualquier ayuda es apreciada!

+0

Se puede hacer 'PySide de importación QtSvg'? – Avaris

+0

Sí, puedo hacer eso y usarlo. Todavía no aparece en los formatos de imagen admitidos. Intento usar una imagen SVG de la misma forma que lo haría con una imagen ICO en una hoja de estilo. El ico funciona si lo pongo en un archivo de recursos o simplemente lo conecto directamente. Los archivos svg no funcionarán de ninguna manera. Es por eso que estoy confundido. Parece que el intérprete está buscando en otra parte el qsvg4.dll? ¿O hay que hacer algo más para especificarlo como un formato de imagen? : -/ – user1301848

+0

Incluso he configurado todo en otra computadora que ejecuta vista. La otra computadora es un XP. Sigue haciendo lo mismo. ¿No se supone que qsvg4.dll funciona como todas las demás dll de formato de imagen? gif, jpeg, etc. están funcionando bien ... – user1301848

Respuesta

10

Para utilizar imágenes SVG, necesita import QtSvg and QtXml y también asegurarse de que el directorio del complemento se importe correctamente.

El siguiente código hace que el éxito para mí:

import os 
import PySide 
from PySide import QtSvg, QtXml 
# You need to have created your QApplication already... 
qApp = QApplication.instance() 
for plugins_dir in [os.path.join(p, "plugins") for p in PySide.__path__]: 
    qApp.addLibraryPath(plugins_dir) 
+0

Esto fue en un virtualenv donde había ejecutado 'easy_install PySide' –

Cuestiones relacionadas