BitmapButton 是一类特殊的按钮,和普通按钮的区别就是该按钮上面不显示文字而是显示图片。
下面是 BitmapButton 元素的初始化函数定义:
- BitmapButton(parent,
- id=ID_ANY,
- bitmap=NullBitmap,
- pos=DefaultPosition,
- size=DefaultSize,
- style=BU_AUTODRAW,
- validator=DefaultValidator,
- name=ButtonNameStr)
下面演示了一个使用该元素的例子,在该例子中,主窗口包含一个图片按钮,如果单击该按钮,应用程序就退出。完整代码如下:
- import wx # 引入wxPython包
- # 定义主窗口类
- class MainFrame(wx.Frame):
- def __init__(self, p, t): # 初始化函数
- """ p: 父亲窗口 # 第一个参数p表示parent,也就是父元素对象
- t: 窗口标题""" # 第二个参数t表示title,也就是窗口的标题
- # 基类的初始化函数
- wx.Frame.__init__(self, id=-1, parent=p, title=t, size=(300, 200))
- # 该panel的父亲就是该窗口, id=-1就表示任意ID
- panel = wx.Panel(self, -1)
- bmp = wx.Image("exit.png", wx.BITMAP_TYPE_PNG).ConvertToBitmap()
- self.button = wx.BitmapButton(panel, -1, bmp, pos=(50, 20))
- # 绑定事件,就是指定的button被单击后调用onClick()成员函数
- self.Bind(wx.EVT_BUTTON, self.OnClick, self.button)
- self.button.SetDefault()
- def OnClick(self, event):
- # 一旦单击就关闭主窗口
- self.Destroy()
- if __name__ == "__main__":
- # 创建一个应用程序
- app = wx.App(False)
- # frame就是应用程序的主窗口
- frame = MainFrame(None, "BitmapButton演示")
- frame.Show(True) # 显示主窗口
- app.MainLoop() # 开始消息循环
运行后,显示如图 1 所示的窗口。