我用 gui 编写了一个小应用程序来分析 xml 文件。我有 2 个 .py 文件,其中 1 个是 GUI,第二个是 xml。我的问题是我设置的图标以及我使用 QMovie 显示的 gif 没有出现在任何机器上,但我的开发机器上。其他机器没有安装 PyQt 或 Python。他们正在使用我从 Python 复制到网络驱动器上的安装文件夹。我刚刚复制了机器 system32 文件夹中的 python32.dll 并且该应用程序可以工作......除了图标。
这就是我设置图标和引用 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()
这在我的机器上又可以正常工作,但在其他任何地方都没有。
关于为什么只有 ma 机器显示图标的任何想法?我没有使用 py2exe 或类似的东西!