gpt4 book ai didi

python - 使用 cx_freeze 后 QGraphicsPixmapItem 不会出现

转载 作者:行者123 更新时间:2023-11-28 22:05:25 24 4
gpt4 key购买 nike

我无法理解为什么在使用 cx_freeze 构建应用程序后我的 QGraphicsPixmapItem 没有显示。该类和 cx_freeze 是否存在任何已知问题,或者我是否缺少 cx_freeze 的某些设置?这是创建和显示 QGraphicsPixmapItem 的部分,之后是我的 cx_freeze 的 setup.py:

def partNo_changed(self):
self.scene.removeItem(self.previewItem)
partNumber = self.ui.partNo.text()
fileLocation = 'drawings\\FULL\\%s.svg' % partNumber
print(fileLocation)
pixmap = QtGui.QPixmap(fileLocation)
self.previewItem = QtGui.QGraphicsPixmapItem(pixmap)
self.previewItem.setPos(0, 0)
self.scene.addItem(self.previewItem)
self.ui.svgPreview.centerOn(self.previewItem)

这里是 setup.py 脚本:

from cx_Freeze import setup, Executable

files = ['drawings\\FULL']

setup(
name = 'DBManager',
version = '1.0',
description = 'Makes and maintains the .csv database files.',
author = 'Brock Seabaugh',
options = {'build_exe': {'include_files':files, 'bin_path_includes':files}},
executables = [Executable('dbManager_publicDB.py')])

程序中的其他一切都有效,这是唯一无效的(如果我只运行 .py 脚本它有效,但当我运行 exe 时无效)。我在构建或运行 exe 时没有收到任何错误。如果有人可以帮助解决这个问题,那就太好了。我正在使用 Python v3.1 和 cx_freeze v4.2.3 以及 PyQt v4。

最佳答案

所以我找到了问题的答案。显然问题不在于 QGraphicsPixmapItem 类,而在于应用程序的 QtSvg 部分。这让我很失望,因为 cx_freeze 的输出显示在创建可执行文件时包含了 QtSvg 模块,但这并不是程序所需的全部。它还需要 qt.conf 文件。我所要做的就是在 '...\Python31\Lib\site-packages\PyQt4\bin\qt.conf' 找到 qt.conf 文件并将该文件复制到应用程序可执行文件所在的目录是的,瞧,它起作用了!

关于python - 使用 cx_freeze 后 QGraphicsPixmapItem 不会出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5383953/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com