2012-03-29 77 views
7

我使用PyDev插件的Eclipse與Qt集成。我安裝了PySide,並且遇到了SVG圖像格式的問題。我知道當我運行我的應用程序時,找到位於C:\Python27\Lib\site-packages\PySide\plugins\imageformats的格式。除SVG格式之外的所有內容。我可以刪除qico4.dll,它不再發現它們並將其放回,並再次找到它們。找不到PySide SVG圖像格式?

我使用這條線在我的代碼:plugs = QtGui.QImageReader.supportedImageFormats()

它發現所有的格式除了從qsvg4.dll的SVG格式?爲什麼會這樣?我搜索,搜索和搜索,似乎無法找出原因。該格式是否應以支持的圖像格式顯示?有什麼我需要做的使用SVG圖像?我可以使用.ico文件,這需要qico4.dll,並且位於相同的地方,這就是爲什麼我不理解問題是什麼?任何幫助表示讚賞!

+0

你能做到'從PySide進口QtSvg'? – Avaris 2012-03-29 21:14:35

+0

是的,我可以做到這一點,並使用它。它仍然不支持支持的圖像格式。我正在嘗試使用SVG圖像,就像樣式表中的ICO圖像一樣。 ico可以工作,無論我把它放在資源文件中還是直接鏈接到它。 svg文件不會以任何方式工作。這就是我困惑的原因。看起來解釋器正在尋找其他地方的qsvg4.dll?還是需要做其他事情來將其指定爲圖像格式? : -/ – user1301848 2012-03-29 22:00:43

+0

我甚至在運行Vista的另一臺計算機上設置了所有內容。另一臺電腦是XP。仍然在做同樣的事情。是不是qsvg4.dll假設像所有其他圖像格式dll一樣工作? gif,jpeg等都工作正常... – user1301848 2012-03-29 22:04:09

回答

10

爲了使用SVG圖像,您需要import QtSvg and QtXml並確保插件目錄正確導入。

下面的代碼確實是成功對我來說:

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

這是在virtualenv我已經運行'easy_install PySide' – 2012-11-23 15:07:00