pyqt5 py2app / pyinstaller MacOS High Sierra QPixmap :: scaled:Pixmap是一个空的pixmap

时间:2018-09-08 17:11:43

标签: null pyqt5 pyinstaller py2app qpixmap

我在pyqt5脚本上使用py2app开发独立的应用程序。 该程序必须在对话框中显示一张照片。我使用下面的脚本,在使用python和pyinstaller独立可执行文件时,都可以在Ubuntu和Windows上正常工作。

但是,在MacOS High Sierra上,当使用python运行脚本时,图像显示就很好。当我使用py2app或pyinstaller生成可执行文件时,会出现著名的QPixmap::scaled: Pixmap is a null pixmap错误。

以下是放置图片的代码:

pic = QLabel(Dialog)
height_label = 300
pic.resize(Dialog.width(), height_label)
pixmap = QtGui.QPixmap(
    os.path.join(os.getcwd(), "main.jpg"))
pic.setPixmap(pixmap.scaled(pic.size(), QtCore.Qt.IgnoreAspectRatio))

1 个答案:

答案 0 :(得分:0)

如果程序需要特定的图像数据,最好使用replace("\\","/")

在py2app setup.py中指定文件。

os.getcwd()仅在从命令行运行可执行文件时才会重定向可执行文件目录。否则,它将默认为系统的主目录。 这样就可以了:

DATA_FILES = ["main.jpg"].