光标类wx.Cursor用来自定义光标,最简单的方法是使用wx.StockCursor(id),它返回预定义的系统光标一个实例。参数id是大于0的整数,例如6是手型。更多预定义系统光标的ID可以查阅《wxPython in Action》。另外一种更自由的方法是采用自定义光标,可以使用wx.CursorFromImage(image)方法从一个图像创建一个自定义的光标。参数image是一个wx.Image实例。下面是一个简单的例子。
#! /usr/bin/env python
#coding=utf-8
import wx
class Cursor(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, u'自定义光标',
size=(-1, -1))
panel = wx.Panel(self, -1)
button_1 = wx.Button(panel,-1,u"原始",(0,0))
button_2 = wx.Button(panel, -1,u"预定义",(100,0))
button_3 = wx.Button(panel, -1,u"ID表示",(0,50))
button_4 = wx.Button(panel, -1,u"自定义",(100,50))
button_2.SetCursor(wx.StockCursor(wx.CURSOR_MAGNIFIER)) #放大镜
button_3.SetCursor(wx.StockCursor(6)) #6代表wx.CURSOR_HAND
bmp = wx.Image("images/diy.png",wx.BITMAP_TYPE_PNG) #定义一个图标
button_4.SetCursor(wx.CursorFromImage(bmp)) #实例化
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = Cursor()
frame.Show()
app.MainLoop()