wxpython下NO_BORDER下窗口的整体移动

先获取对象:

  bgParent = BGPanel(self, size=size, bmp=bgpng)

  bgParent.Bind(wx.EVT_MOTION, self.OnMouseMove)
  bgParent.Bind(wx.EVT_LEFT_UP, self.OnMouseUp)

然后定义鼠标的位置和动作:

    def OnMouseUp(self, evt):
        if self.HasCapture():self.ReleaseMouse()
    
    def OnMouseMove(self, evt):
        if evt.LeftIsDown():
            x, y = self.ClientToScreen(evt.GetPosition())
            if hasattr(self, 'delta'):
                fp = (x - self.delta[0], y - self.delta[1])
                self.Move(fp)
            else:
                x, y =  self.ClientToScreen(evt.GetPosition())
                originx, originy = self.GetPosition()
                dx = x - originx
                dy = y - originy
                self.delta = ((dx, dy))

具体例子,改天再实现

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值