使用wxpython实现的一个简单图片浏览器实例

2019-10-06 11:49:22丽君

    def OnChangeImage(self, event):
        rotation = event.GetWheelRotation()
        if rotation<0:
            self.app.ShowNextImage()
        else:
            self.app.ShowPreImage()
   
    def OnLeftDown(self, event):
        self.pos = event.GetX(), event.GetY()
        self.bmoved = True

    def OnLeftUp(self, event):
        self.bmoved = False

    def OnMotion(self, event):
        if not self.bmoved:
            return
        pos = event.GetX(), event.GetY()
        dx = pos[0]-self.pos[0]
        dy = pos[1]-self.pos[1]
        pos = self.bmp.GetPosition()
        pos = pos[0]+dx, pos[1]+dy
        self.bmp.SetPosition(pos)

    def OnKeyDown(self, event):
        keycode = event.GetKeyCode()
        if keycode == 49:#数字1放大
            self.SizeUp()
        elif keycode == 50:#数字2缩小
            self.SizeDown()
        event.Skip()#这个貌似很重要,要同时触发app上的快捷键

    def SizeUp(self):
        self.max_width += 50
        self.max_height += 75
        self.ShowImage(self.bmppath)
    def SizeDown(self):
        self.max_width -= 50
        self.max_height -= 75
        self.ShowImage(self.bmppath)

class PBApp(wx.App):
   
    #redirect=False将信息输出到dos界面
    def __init__(self, redirect=False):
        wx.App.__init__(self, redirect)
   
    def OnInit(self):
       
        #显示文件夹列表界面
        self.dirframe = PBDirFrame(self)