Python 檔案管理工具,Treeview,Scrollbar,__Python

來源:互聯網
上載者:User
import tkinterimport tkinter.ttkimport osclass TreeWindows:    def __init__(self):        self.win=tkinter.Tk()        self.tree=tkinter.ttk.Treeview(self.win,height=500) #樹狀        self.ysb=tkinter.ttk.Scrollbar(self.win,orient="vertical",command=self.tree.yview())  #y捲軸        self.xsb = tkinter.ttk.Scrollbar(self.win, orient="horizontal",command=self.tree.xview()) #x捲軸        self.tree.configure(yscroll=self.ysb.set,xscroll=self.xsb.set) #y捲軸關聯        self.tree.grid(row=0,column=0)        self.tree.heading("#0",text="Path",anchor="w")  #初始化頭部,表頭 west靠近西方        self.tree.bind("<<TreeviewSelect>>",self.gosel) #事件(選中)綁定        filepath="C:\\aa\\Desktop"  #路徑        root=self.tree.insert("","end",text=filepath,open=True)  #插入一個節點        self.loadtree(root,filepath)  #遞迴        self.e=tkinter.StringVar()        self.entry=tkinter.Entry(self.win,textvariable=self.e)        self.e.set("請選擇檔案")        self.entry.grid(row=0, column=2)        self.ysb.grid(row=0,column=1,sticky="ns")        self.xsb.grid(row=1, column=0,sticky="ew")        self.win.grid() #表格展示    def  loadtree(self,parent,rootpath):        for  path  in  os.listdir(rootpath): #遍曆目前的目錄            abspath=os.path.join(rootpath,path) #串連成絕對路徑            oid=self.tree.insert(parent,'end',text=abspath,open=False)#插入樹枝            if os.path.isdir(abspath):                self.loadtree(oid,abspath) #遞迴回去    def  gosel(self,event):        self.select=event.widget.selection() #擷取所選的項(可能是多項,所以要for迴圈)        for idx  in self.select:            print(self.tree.item(idx)["text"])            self.e.set(self.tree.item(idx)["text"])    def show(self):        self.win.mainloop()mytree=TreeWindows()mytree.show()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.