我使用python和wxpython创建了一个程序。我使用py2exe创建了一个可执行文件。它工作正常,但我使用我的公司徽标作为闪屏和印刷图纸。我不得不删除启动画面以使可执行文件工作。在错误文本文件中,我得到以下内容:
追踪(最近一次通话): 在OnPrintPage中的文件“printGland.pyc”,第418行 在DrawBitmap中输入“wx_gdi.pyc”,第3459行 wx._core.PyAssertionError:Cx断言“bmp.Ok()”在wxDC :: DoDrawBitmap()中的.... \ src \ msw \ dc.cpp(1181)失败:wxDC :: DrawBitmap中的无效位图
我假设bmp图像未包含在可执行文件中。代码加载后是否有问题?
def __init__(self,parent,id):
# Splash Screen
image = wx.Image("Image.bmp",wx.BITMAP_TYPE_BMP)
bmp = image.ConvertToBitmap()
wx.SplashScreen(bmp,wx.SPLASH_CENTRE_ON_SCREEN|wx.SPLASH_TIMEOUT,1000,None,-1)
wx.Yield()
或者当我使用py2exe时,我应该将其添加到安装文件中?关于如何纠正这种情况的任何想法?
答案 0 :(得分:0)
答案 1 :(得分:0)
您必须确保将该文件包含在与可执行文件相同的目录中。如果你用它复制图像,它是否有效?否则,您可以使用wxPython的img2py脚本将您的图像转换为Python文件并以这种方式捆绑它。
这稍微过时了:http://www.blog.pythonlibrary.org/2008/05/23/wxpython-embedding-an-image-in-your-title-bar/
这是doc页面:http://wxpython.org/docs/api/wx.tools.img2py-module.html