我有一个使用 cx_freeze 冻结的 PyQt4 程序。我遇到的问题是,当我制作 QGraphicsPixmapItem 时,它正在获取由 SVG 文件制作的像素图,项目没有问题,但像素图没有加载,所以场景中没有图像只有项目. 让我感到困惑的是,这只发生在我在与构建 exe 的计算机不同的计算机上运行它时。当我在构建它的计算机上运行 exe 时,程序运行良好。即使我尝试在计算机上安装所有必需的 python 组件和 pyqt 组件的计算机上运行它,如果不是构建它的计算机,pixmap 也不会从 svg 文件加载。我不确定这是否是我的 cx_freeze 设置的问题。py 文件,或者如果我需要更改主代码中的某些内容,那么任何帮助或只是将我指向正确的方向都会很棒。我的感觉是,当 cx_freeze 正在构建它时,有些东西变得一团糟,所以我将在下面粘贴我的 setup.py 文件的内容。我也在使用 Python v3.1 在 Windows 上运行。
from cx_Freeze import setup, Executable
files = ['drawings\\FULL', 'drawings\\PANEL', 'data.csv', 'panelData.csv']
binIncludes = ['C:\\Python31\\Lib\\site-packages\\PyQt4\\bin\\QtSvg4.dll']
includes = ['main', 'PunchDialog', 'ArrayDialog', 'PricingDialog', 'FontAndInputDialog', 'PanelSelector', 'PyQt4', 'os', 'sys', 'ctypes', 'csv']
packages = ['drawings']
path = ['C:\\Users\\Brock\\Documents\\Programming\\PanelDesigner\\DrawingFirst', 'C:\\Python31\\Lib', 'C:\\Python31\\Lib\\site-packages', 'C:\\Python31\\DLLs']
setup(
name = 'PanelBuilder',
version = '1.0',
description = 'Allows user to draw custom panel layouts.',
author = 'Brock Seabaugh',
options = {'build_exe': {'packages':packages, 'path':path, 'include_files':files, 'bin_includes':binIncludes, 'includes':includes}},
executables = [Executable('PanelBuilder.py')])
PS。这是我的文件层次结构(如果有帮助的话):
\DrawingFirst
Main .py file
All .py files for all custom dialogs used
\drawings
some modules used
\FULL
A bunch of SVG files used
\PANEL
More SVG files used