将图片文件嵌入到wxpython代码中的实现方法

(编辑:jimmy 日期: 2024/11/21 浏览:2)

下面直接上代码留存,方便以后查阅复用。

# -*- coding: utf-8 -*- 
#作者:LeniyTsan
#时间:2014-07-17
 
import wx
from wx.lib.embeddedimage import PyEmbeddedImage
 
class MyFrame1 ( wx.Frame ):
  def __init__( self, parent ):
    wx.Frame.__init__ ( self, parent )
    self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_3DLIGHT ) )
    bSizer1 = wx.BoxSizer( wx.VERTICAL )
    file = open('author.png', 'rb')
    b64 = file.read().encode('base64')
    file.close()
    bitmap = PyEmbeddedImage(b64).GetBitmap()
    self.m_bitmap1 = wx.StaticBitmap( self, wx.ID_ANY, bitmap )
    bSizer1.Add( self.m_bitmap1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
    self.SetSizer( bSizer1 )
    self.Layout()
    bSizer1.Fit( self )
    self.Centre( wx.BOTH )
app = wx.App()
gui = MyFrame1(None)
gui.Show()
app.MainLoop() 

重点部分是bitmap = PyEmbeddedImage(b64).GetBitmap()代码,其中b64是前面生成的图片的base64字符串,bitmap就是我们的图片对象,可以让wx.StaticBitmap调用。

程序运行的结果如下:

将图片文件嵌入到wxpython代码中的实现方法

一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。