python窗口程序 圆形_在当前移动的窗口上画一个圆(Python)

找到了解决方案,我用了wxPython

代码下方:import wx, inspect, os, sys, win32gui

IMAGE_PATH = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) + '\cerchio.png'

class Cursor(wx.Frame):

def __init__(self, parent, log):

self.log = log

self.delta = wx.Point(0,0)

wx.Frame.__init__(self, parent, -1, "Shaped Window",

style =

wx.FRAME_SHAPED

| wx.SIMPLE_BORDER

| wx.FRAME_NO_TASKBAR

| wx.STAY_ON_TOP

)

self.timer = wx.Timer(self)

self.Bind(wx.EVT_TIMER, self.update, self.timer)

self.Bind(wx.EVT_PAINT, self.OnPaint)

self.x=0

self.y=0

self.hasShape = False

self.SetClientSize( (50, 50) )

image = wx.Image(IMAGE_PATH, wx.BITMAP_TYPE_PNG)

image.SetMaskColour(255,255,255)

image.SetMask(True)

self.bmp = wx.BitmapFromImage(image)

self.SetWindowShape()

self.timer.Start(1)

dc = wx.ClientDC(self)

dc.DrawBitmap(self.bmp, 0, 0, True)

def OnExit(self, evt):

self.Close()

def SetWindowShape(self, *evt):

# Use the bitmap's mask to determine the region

r = wx.RegionFromBitmap(self.bmp)

self.hasShape = self.SetShape(r)

def OnPaint(self, evt):

dc = wx.PaintDC(self)

dc.DrawBitmap(self.bmp, 0, 0, True)

def OnExit(self, evt):

self.Close()

def update(self, event):

#self.x, self.y = win32gui.GetCursorPos()

self.SetPosition((self.x,self.y))

if __name__ == '__main__':

app = wx.App( False )

frm = Cursor(None, -1)

frm.Show()

app.MainLoop()

这将50x50的白色背景png图像(修改图像路径)映射到光标位置(虽然您无法单击)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值