我用gui編寫了一個小應用程序來分析xml文件。我有2個.py文件,其中1是GUI,第二個是xml。 我的問題是,我設置的圖標,以及我使用QMovie顯示的gif,都沒有顯示在任何機器上,而是我的開發機器上。 其他機器沒有安裝PyQt或Python。他們正在使用我從Python複製到網絡驅動器上的安裝文件夾。我剛剛複製python32.dll在機器system32文件夾和應用程序工作...除了圖標。PyQt v4.8.2 + Python 3 ...只在開發機器上顯示的圖標
這就是我如何設置的圖標和引用GIF:
self.setWindowIcon(QtGui.QIcon("grabb.ico"))
--------other code---------
self.movie = QMovie("load.gif", QByteArray(), self)
self.movie.setCacheMode(QMovie.CacheAll)
self.movie.setSpeed(100)
self.movie_screen.setMovie(self.movie)
self.movie.start()
的文件在同一目錄作爲PY所以這應該工作。我也嘗試過絕對路徑,但是這並沒有給我更好的結果。
現在我已經閱讀了堆棧,這可以通過使用資源系統來解決。 因此,我使用設計器創建一個源文件,然後使用pyrcc4將其編譯爲一個.py文件(使用python 3的參數)。現在我想像這樣的圖像:
self.setWindowIcon(QtGui.QIcon(":icon/grabber.ico"))
--------other code---------
self.movie = QMovie(":loader/load.gif", QByteArray(), self)
self.movie.setCacheMode(QMovie.CacheAll)
self.movie.setSpeed(100)
self.movie_screen.setMovie(self.movie)
self.movie.start()
這再次在我的機器上正常工作,但沒有其他地方。
任何想法爲什麼只有馬機顯示圖標? 我沒有使用py2exe或類似!
好的問題解決了。 我現在使用cx_freeze來部署它,我應該首先完成它。 圖標工作,而且啓動速度更快,因爲它不需要通過網絡驅動器加載所有內容。 cx_freeze一路! – pypat 2012-07-13 07:35:03