2012-03-29 40 views
7

Tôi đang sử dụng plugin PyDev cho Eclipse với tích hợp Qt. Tôi đã cài đặt PySide và tôi gặp sự cố với định dạng hình ảnh SVG. Tôi biết khi nào tôi chạy ứng dụng của mình, các định dạng nằm trong số C:\Python27\Lib\site-packages\PySide\plugins\imageformats được tìm thấy. Tất cả trừ định dạng SVG. Tôi có thể loại bỏ qico4.dll và nó không còn tìm thấy chúng và đặt nó trở lại và nó tìm thấy chúng một lần nữa.Không tìm thấy định dạng hình ảnh PySide SVG?

Tôi đang sử dụng dòng này trong mã của tôi: plugs = QtGui.QImageReader.supportedImageFormats()

Nó tìm thấy tất cả các định dạng ngoại trừ định dạng SVG từ qsvg4.dll? Tại sao điều này lại là? Tôi đã tìm kiếm và tìm kiếm và tìm kiếm và dường như không thể tìm ra lý do. Định dạng có hiển thị ở định dạng hình ảnh được hỗ trợ không? Tôi có cần phải làm gì khác để sử dụng hình ảnh SVG không? Tôi có thể sử dụng .ico tập tin tốt mà yêu cầu qico4.dll và nằm ở cùng một vị trí đó là lý do tại sao tôi không hiểu vấn đề là gì? Bất kỳ trợ giúp được đánh giá cao!

+0

Bạn có thể làm 'từ PySide nhập khẩu QtSvg'? – Avaris

+0

Có, tôi có thể làm điều đó và sử dụng nó. Nó vẫn không hiển thị ở định dạng hình ảnh được hỗ trợ. Tôi đang cố gắng sử dụng một hình ảnh SVG giống như cách tôi sẽ một hình ảnh ICO trong một phong cách trang tính. Các ico hoạt động cho dù tôi đặt nó trong một tập tin tài nguyên hoặc chỉ liên kết với nó trực tiếp. Các tệp svg sẽ không hoạt động theo cách nào. Đây là lý do tại sao tôi bối rối. Có vẻ như thông dịch viên đang tìm nơi khác cho qsvg4.dll? Hoặc cái gì khác cần phải được thực hiện để xác định nó như là một định dạng hình ảnh? : -/ – user1301848

+0

Tôi thậm chí còn thiết lập mọi thứ trên một máy tính khác chạy vista. Máy tính khác là XP. Vẫn làm điều tương tự. Không phải là qsvg4.dll giả sử để làm việc giống như tất cả các dlls định dạng hình ảnh khác? gif, jpeg, v.v. đều hoạt động tốt ... – user1301848

Trả lời

10

Để sử dụng hình ảnh SVG, bạn cần phải import QtSvg and QtXml và cũng đảm bảo rằng thư mục plugin được nhập đúng cách.

Các mã sau đây làm thế thành công cho tôi:

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

Đây là trên virtualenv nơi tôi đã chạy 'easy_install PySide' –

Các vấn đề liên quan