我在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))
答案 0 :(得分:0)
如果程序需要特定的图像数据,最好使用replace("\\","/")
os.getcwd()仅在从命令行运行可执行文件时才会重定向可执行文件目录。否则,它将默认为系统的主目录。 这样就可以了:
DATA_FILES = ["main.jpg"].