Python编程之gui程序实现简单文件浏览器代码
2017-12-08 09:23
1046 查看
本文主要分享了关于在python中实现一个简单的文件浏览器的代码示例,代码及展示如下。
#!/usr/bin/env python # -*- coding: UTF-8 -*- import os from time import sleep from 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, width=50, 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, activeforeground = 'white', 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核心编程-GUI程序之综合实例-简单文件浏览器
- python socket编程 实现简单p2p聊天程序
- python GUI编程——wxpython编写简单记事本程序
- [20180313智慧餐厅推荐系统02]基于python的socket编程代码,实现PC与服务器的简单通信
- 基于visual c++之windows核心编程代码分析(65)实现程序自我复制
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- Python编程之美 - 初识GUI程序
- java基于TCP的socket编程简单实现[代码实践过]
- 简单SNMP管理程序的VC++代码实例实现
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)
- Socket通讯编程实现简单的任意聊天程序
- 基于visual c++之windows核心编程代码分析(59)实现网络简单代理编程
- 简单SNMP管理程序的VC++代码实例实现
- 基于visual c++之windows核心编程代码分析(59)实现网络简单代理编程
- 简单代码实现复杂的省市联动程序-js
- Java实现简单的计算器(GUI编程)
- 简单SNMP管理程序的VC++代码实例实现
- 【转】winform编程实现程序最小化到系统托盘代码
- AjaxPanel自定义控件实现页面无刷新数据交互(做了个示例程序, 效果确实比较Cool, 用法非常简单! )(示例代码下载)