【问题标题】:Executable will no include images used in wxpython可执行文件将不包含 wxpython 中使用的图像
【发布时间】:2012-07-27 06:20:32
【问题描述】:

我已经使用 python 和 wxpython 创建了一个程序。我使用 py2exe 创建了一个可执行文件。 IT 工作正常,但我将公司徽标用作闪屏和打印图纸。我必须删除启动画面才能使可执行文件正常工作。在错误文本文件中,我得到以下信息:

Traceback(最近一次调用最后一次): OnPrintPage 中的文件“printGland.pyc”,第 418 行 DrawBitmap 中的文件“wx_gdi.pyc”,第 3459 行 wx._core.PyAssertionError:C++ 断言“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 时我应该添加到安装文件中?有关如何补救这种情况的任何想法?

【问题讨论】:

  • 你使用的是哪个版本的 wxpython?
  • 从错误中可以清楚地看出您传递的 bmp 文件无效。
  • wxpython 是 2.8。 “无效的 bmp 文件”是什么意思?
  • Image.bmp 是否放在脚本的同一个文件夹中?或者您必须提供绝对网址。

标签: python wxpython py2exe


【解决方案1】:

来自reference

图像文件是否存在于当前工作目录中?你会 可能需要指定图片文件所在的路径 而不是仅仅假设你给出的 CWD。​​p>

更多讨论,here

【讨论】:

    【解决方案2】:

    您必须确保将该文件包含在与可执行文件相同的目录中。如果您将图像与它一起复制,它会起作用吗?否则,您可以使用 wxPython 的 img2py 脚本将您的图像转换为 Python 文件并以这种方式进行捆绑。

    这有点过时了:http://www.blog.pythonlibrary.org/2008/05/23/wxpython-embedding-an-image-in-your-title-bar/

    这是文档页面:http://wxpython.org/docs/api/wx.tools.img2py-module.html

    【讨论】:

      猜你喜欢
      • 2014-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 2012-09-11
      • 2019-06-05
      • 1970-01-01
      相关资源
      最近更新 更多