2014-06-21 81 views
0

我是pyside的新手,我正在按照教程http://zetcode.com/gui/pysidetutorial/widgets2/。我正試圖讓圖像在窗口中顯示。看起來我應該可以在我的計算機上傳遞一張照片的文件位置,但不管我做了什麼,我似乎都無法讓它顯示我傳入的文件。任何幫助都將不勝感激。謝謝!Pyside Qpixmap不工作

import sys 
from PySide import QtGui, QtCore 

class Example(QtGui.QWidget): 

    def __init__(self): 
     super(Example, self).__init__() 

     self.initUI() 

    def initUI(self):  

     hbox = QtGui.QHBoxLayout(self) 
     pixmap = QtGui.QPixmap("C://Users//Public//Pictures//Sample Pictures//Desert.jpg") 

     lbl = QtGui.QLabel(self) 
     lbl.setPixmap(pixmap) 

     hbox.addWidget(lbl) 
     self.setLayout(hbox) 

     self.setGeometry(300, 300, 280, 170) 
     self.setWindowTitle('Red Rock') 
     self.show()   

def main(): 

    app = QtGui.QApplication(sys.argv) 
    ex = Example() 
    sys.exit(app.exec_()) 


if __name__ == '__main__': 
    main() 
+0

您的代碼,正是因爲它是爲我工作得很好。所以你必須有一個非常具體的問題!你可以用'isNull()'測試是否找到並加載了圖像,但這並不能解釋爲什麼它沒有加載。 – Trilarion

+0

謝謝,isNull()幫助,你說得對,我的環境搞砸了,謝謝。 – calthoff

回答

0

這裏就是你需要做什麼(相關主題:onetwo

  1. 在腳本所在的同一文件夾中創建"imageformats"文件夾(例如,C:\PyProgs\imageformats
  2. 複製dlls從PySide "imageformats"文件夾(我的機器上的C:\Python27\Lib\site-packages\PySide\plugins\imageformats)創建的文件夾
  3. 將此代碼添加到您的main()功能:
path = r"C:\PyProgs" 
app.addLibraryPath(path) 

完全main代碼:

def main(): 

    app = QtGui.QApplication(sys.argv) 
    path = r"C:\PyProgs" 
    app.addLibraryPath(path) 

    ex = Example() 
    sys.exit(app.exec_())