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

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

   
    def OnClose(self, event):
        self.Destroy()
        self.app.Close()
   
    #listbox双击事件
    def OnDClick(self, event):
        if self.list.GetSelection()==0:#判断是否选择了返回上一层文件夹
            path = os.getcwd()
            pathinfo = os.path.split(path)
            dir = pathinfo[0]
        else:#获得需要进入的下一层文件夹
            dir = self.list.GetStringSelection()
       
        if os.path.isdir(dir):#进入文件夹
            self.LoadDir(dir)
        elif os.path.splitext(dir)[-1]=='.jpg':#显示图片
            self.app.ShowImage(dir)

    #加载文件夹,如果你想定义自己的排序,那么修改这个方法吧~
    def LoadDir(self, dir):
        #不是目录则不进行操作
        if not os.path.isdir(dir):
            return
       
        self.list.Clear()#清空
        self.list.Append('...')#添加返回上一层文件夹标志

        dirs = []
        jpgs = []
        nnjpgs = []
        for _dir in os.listdir(dir):
            if os.path.isdir(dir+os.path.sep+_dir):
                dirs.append(_dir)
            else:
                info = os.path.splitext(_dir)
                if info[-1]=='.jpg':
                    if info[0].isdigit():
                        jpgs.append(string.atoi(info[0]))#转化为数字