wxpython中鼠标样式的获取与匹配

在wxpython中定义有多种默认的鼠标样式,譬如:wx.CURSORCROSS wx.CURSORHAND等等, 此处按下不表,可以参考wxpython的samples里面自带的cursor例子

这里讲介绍当前App的鼠标样式如何获取与匹配:

首先,获取非常简单,GetCursor()即可;

接着,匹配貌似易如反掌嘛,

if self.GetCursor() == wx.StockCursor(wx.CURSOR_CROSS):
    pass

想当然耳就要栽跟头,上面的逻辑判断永远是False,因为等式两边的返回值不是python object没法比较,解决办法很简单:

if self.GetCursor().GetHandle() == wx.StockCursor(wx.CURSOR_CROSS).GetHandle():
    pass

14/08/17更新

上述方法并不是官方说法且在wx2.8.12下报错,按照参考文档的说法调用IsOk方法查询该鼠标样式是否使用中才是正确的办法

if self.GetCursor().IsOk() == wx.StockCursor(wx.CURSOR_CROSS).IsOk():pass
原文地址:https://www.cnblogs.com/pasuka/p/3901178.html