2014-03-06 38 views
0

我正在嘗試幾個示例程序,在BBB的最後一個Debian圖像中沒有工作。他們在Windows上的常規Xubuntu 13.10發佈廣告中工作,但我無法確定爲什麼Qpixmap不適用於此映像。常規小部件工作正常,但Qpixmap沒有顯示圖像。安裝的pyqt版本是4.9。Pyqt4 Qpixmap不工作在Debian Beagleone黑色圖像

我正在使用的一個示例如下。

#!/usr/bin/python 
    # -*- coding: utf-8 -*- 

    import sys 
    from PyQt4 import QtGui, QtCore 

    class Imagen(QtGui.QWidget): 

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

      self.initUI() 

     def initUI(self):  

      hbox = QtGui.QHBoxLayout(self) 
      pixmap = QtGui.QPixmap("test.png") 

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

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

      self.move(300, 200) 
      self.setWindowTitle('Test') 
      self.show()   

    def main(): 

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


    if __name__ == '__main__': 
     main() 

回答

0

假設您的PNG和Python文件在同一目錄中添加以下代碼:

進口os.path中

import os.path as osp 

下面的代碼添加到initUI()

... 
path = osp.join(osp.direname(__file__), 'test.png') 
pixmap = QtGui.QPixmap(path) 
... 
0

相對路徑相對於curre nt目錄,該目錄不一定與腳本本身所在的目錄相同。因此,請在運行腳本之前使用絕對路徑名,或者cd到映像文件所在的目錄。

但是,如果你有興趣在解決這一普遍問題正確,最好的辦法是學習如何使用Qt Resource Systempyrcc tool。這使您可以直接在應用程序中嵌入圖標(或任何您喜歡的文件),從而完全避免查找文件時可能遇到的任何問題。