QGRAPHICSPIXMAPITEMは、CX_FREEZEを使用した後には表示されません
-
28-10-2019 - |
質問
cx_freezeを使用してアプリケーションを構築した後、qgraphicspixmapitemが表示されない理由を理解するのに苦労しています。そのクラスとcx_freezeに既知の問題はありますか、それともcx_freezeでいくつかの設定がありませんか? qgraphicspixmapitemを作成して表示している部分は次のとおりです。
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ファイルを見つけることだけでした。 andboilà、それはうまくいきます!
所属していません StackOverflow