我有一个跟随光标的框架,代码确实有效,但框架没有达到光标的准确速度而且它一直闪烁,请帮帮我吗?
import wx
class aaa (wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'aaa',size=(200,200),style = wx.NO_BORDER)
panel=wx.Panel(self, id, pos = (0,0),size = (200,200))
self.on_timer()
def on_timer(self):
wx.CallLater(0, self.on_timer)
cursor = self.ScreenToClient(wx.GetMousePosition())
self.SetPosition((cursor[0],cursor[1]))
答案 0 :(得分:0)
您可以在课程aaa
中执行以下操作:
def __init__(self,parent,id):
...
# remove self.on_timer()
...
self.tmr = wx.Timer(self, id=wx.NewId())
self.tmr.Start(100, wx.TIMER_CONTINUOUS)
self.Bind(wx.EVT_TIMER, self.on_timer_evt)
def on_timer_evt(self, evt):
mouse = wx.GetMousePosition()
_, _, w, h = self.GetRect()
self.SetPosition((mouse[0] - w/2, mouse[1] - h/2))
按Alt-F4关闭窗口。通过降低定时器镜头之间的间隔(在这种情况下100
毫秒)可以加快速度。
然而,这个游标跟踪功能在某种程度上对我来说毫无意义,因为你将无法与wx GUI中的其他东西进行交互。