本文主要分享了关于在python中实现一个简单的文件浏览器的代码示例,代码及展示如下。
#!/usr/bin/env python# -*- Coding: UTF-8 -*- import osfrom time import sleepfrom Tkinter import * class DirList(object): def __init__(self,initdir=None): '''构造函数,说明版本信息''' self.top = Tk() self.label = Label(self.top,text = 'My directory Lister v1.1') self.label.pack() self.cwd = StringVar(self.top) self.dir1 = Label(self.top,fg='blue',Font=('Helvetica',22,'bold')) self.dir1.pack() self.dirfm = Frame(self.top) self.dirsb = Scrollbar(self.dirfm) self.dirsb.pack(sIDe=RIGHT,fill=Y) self.dirs = ListBox(self.dirfm,height=15,wIDth=50,yscrollcommand=self.dirsb.set) self.dirs.bind('<Double-1>',self.setDirAndGo) self.dirsb.config(command=self.dirs.yvIEw) self.dirs.pack(sIDe=left,fill=BOTH) self.dirfm.pack() self.dirn = Entry(self.top,textvariable=self.cwd) self.dirn.bind('<Return>',self.dolS) self.dirn.pack() self.bfm = Frame(self.top) self.clr = button(self.bfm,text='Clear',command = self.clrDir,activeforeground = 'white',activebackground = 'blue') self.ls = button(self.bfm,text = 'List Directory',command = self.dolS,activebackground = 'green') self.quit = button(self.bfm,text='Quit',command=self.top.quit,activeforeground='white',activebackground='red') self.clr.pack(sIDe=left) self.ls.pack(sIDe=left) self.quit.pack(sIDe=left) self.bfm.pack() if initdir: self.cwd.set(os.curdir) self.dolS() def clrDir(self,ev=None): self.cwd.set('') def setDirAndGo(self,ev=None): self.last = self.cwd.get() self.dirs.config(selectbackground='red') check = self.dirs.get(self.dirs.curselection()) if not check: check = os.curdir self.cwd.set(check) self.dolS() def dolS(self,ev=None): error = '' tdir = self.cwd.get() if not tdir: tdir = os.curdir if not os.path.exists(tdir): error = tdir + ': no such file' elif not os.path.isdir(tdir): error = tdir + ': not a directory' if error: self.cwd.set(error) self.top.update() sleep(2) if not (hasattr(self,'last') \ and self.last): self.last = os.curdir self.cwd.set(self.last) self.dirs.config(\ selectbackground='lightSkyBlue') self.top.update() return self.cwd.set(\ 'FETCHING DIRECTORY CONTENTS...') self.top.update() dirList = os.Listdir(tdir) dirList.sort() os.chdir(tdir) self.dir1.config(text=os.getcwd()) self.dirs.delete(0,END) self.dirs.insert(END,os.curdir) self.dirs.insert(END,os.pardir) for eachfile in dirList: self.dirs.insert(END,eachfile) self.cwd.set(os.curdir) self.dirs.config(\ selectbackground='lightSkyBlue')def main(): d = DirList(os.curdir) mainloop()if __name__ == '__main__': main()
结果:
代码实现功能较简单,感兴趣的朋友参考下吧!
以上就是本文关于Python编程之gui程序实现简单文件浏览器代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:
Python中pygal绘制雷达图代码分享
pip和pygal的安装实例教程
Python编程实现使用线性回归预测数据
如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
总结以上是内存溢出为你收集整理的Python编程之gui程序实现简单文件浏览器代码全部内容,希望文章能够帮你解决Python编程之gui程序实现简单文件浏览器代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)