这个应用是一个目录树遍历工具。它会从当前目录(或指定目录,本文代码指定为桌面)开始,提供一个文件列表。
双击列表中任意其他目录,就会使得工具切换到新目录中,用新目录中的文件列表代替旧文件列表。
该应用主界面如下:
该应用的主要目的是为条用它的界面提供返回值,即在单击确认的时候把下方文本框中的内容(选中的文件路径和文件名)更新到主界面。
文件系统遍历GUI(listdir.py)
这个GUI程序扩展了控件的使用,新增了列表框,文本框和滚动条。此外还增加了鼠标单击、键盘按下、滚动操作等回调函数。
import os
from time import sleep
from tkinter import *
class Dirlist():
def __init__(self,initdir=None,path=None,root=None):# 在主界面生成Dirlist对象时,把变量和控件对象传递过来。参数initdir为初始文件路径
# 主界面中:变量:path = StringVar() 控件:filename = Entry(frame1,textvariable = path) 即在主界面中生成对象Dirlist('路径',path=path,root=filename,)
self.top2 = Tk()
self.top2.title('选择文件')
self.path = path
self.root = root
#这里声明了Tk的一个变量cwd,用于保存当前所在的目录名,并用Label控件对象dirl显示出来(在调用函数doLS时显示出来)
self.cwd = StringVar(self.top2)
self.dirl = Label(self.top2,fg = 'blue')
self.dirl.pack()
# 第一个框架dirfm,应用核心部分,里面放置Listbox控件dirs,和Scrollbar滚动条。并通过使用List的bind()方法,将鼠标双击事件绑定
self.dirfm = Frame(self.top2)
self.dirsb = Scrollbar(