1.5.0
Added File Browser
This commit is contained in:
parent
c56a313fc5
commit
2538cc2290
4 changed files with 202 additions and 125 deletions
64
Programs/FileBrowser.py
Normal file
64
Programs/FileBrowser.py
Normal file
|
@ -0,0 +1,64 @@
|
|||
from tkinter import *
|
||||
import os
|
||||
|
||||
path = "E:/programming/"
|
||||
|
||||
class fileBrowser:
|
||||
def update(self):
|
||||
self.path = os.path.realpath(self.path)
|
||||
self.folderListbox.delete(0, END)
|
||||
self.fileListbox.delete(0, END)
|
||||
|
||||
self.addressBox.delete(0, END)
|
||||
self.addressBox.insert(0, self.path)
|
||||
|
||||
self.folderListbox.insert(0, "Back")
|
||||
|
||||
for item in os.listdir(self.path):
|
||||
if not self.path.startswith("."):
|
||||
if os.path.isdir(os.path.join(self.path, item)):
|
||||
self.folderListbox.insert(END, item)
|
||||
else:
|
||||
self.fileListbox.insert(END, item)
|
||||
|
||||
|
||||
def createWidgets(self):
|
||||
self.folderListbox = Listbox(self.root)
|
||||
self.fileListbox = Listbox(self.root)
|
||||
|
||||
self.addressBox = Entry(self.root)
|
||||
self.addressBox.insert(0, self.path)
|
||||
|
||||
self.folderListbox.insert(0, "Back")
|
||||
|
||||
def test(event):
|
||||
if self.folderListbox.get(self.folderListbox.curselection()) == "Back":
|
||||
self.path = os.path.abspath(os.path.join(self.path, os.pardir))
|
||||
else:
|
||||
self.path = os.path.join(self.path, self.folderListbox.get(self.folderListbox.curselection()))
|
||||
self.update()
|
||||
|
||||
def refresh(event):
|
||||
self.path = os.path.abspath(self.addressBox.get())
|
||||
self.update()
|
||||
|
||||
def upd(event):
|
||||
self.update()
|
||||
|
||||
self.update()
|
||||
|
||||
self.addressBox.bind("<Return>", refresh)
|
||||
self.folderListbox.bind("<F5>", upd)
|
||||
|
||||
self.folderListbox.bind('<Double-1>', test)
|
||||
|
||||
self.addressBox.pack(side=TOP, expand=NO, fill=X)
|
||||
self.folderListbox.pack(side=LEFT, expand=YES, fill=BOTH)
|
||||
self.fileListbox.pack(side=LEFT, expand=YES, fill=BOTH)
|
||||
def __init__(self, master, path):
|
||||
self.path = os.path.abspath(os.path.dirname(os.path.realpath(path)))
|
||||
self.root = Toplevel(master)
|
||||
self.root.title("File Browser")
|
||||
self.createWidgets()
|
||||
|
||||
self.root.mainloop()
|
Reference in a new issue