zoukankan      html  css  js  c++  java
  • tkinter学习06

    import tkinter
    import os
    from treeWindows import TreeWindows
    from infoWindows import InfoWindows
    import tkinter.filedialog as dir
    
    win=tkinter.Tk()
    win.title("植物打大战")
    win.geometry("900x400+200+50")
    path=r"C:UsersadminDesktop23家上报"
    def open_dir(path):
        d=dir.Directory()
        path=d.show(initialdir=path)
        return path
    
    # print(open_dir(path))
    infoWin=InfoWindows(win)
    
    treeWin=TreeWindows(win,path,infoWin)
    man.py
    import tkinter
    from tkinter import ttk
    import os
    
    class TreeWindows(tkinter.Frame):
        def __init__(self,master,path,otherWin):
            self.path=os.path.abspath(path)
            frame=tkinter.Frame(master)
            frame.grid(row=0,column=0,padx=15, pady=15)
            self.otherWin = otherWin
            self.tree=ttk.Treeview(frame)
            self.tree.pack(side=tkinter.LEFT,fill=tkinter.Y)
    
            root=self.tree.insert("","end",text=self.getLastPath(self.path),open=True,values=(self.path))
            self.loadTrea(root,self.path)
    
            #滚动条
            self.sy=tkinter.Scrollbar(frame)
            self.sy.pack(side=tkinter.RIGHT,fill=tkinter.Y)
            self.sy.config(command=self.tree.yview)
            self.tree.config(yscrollcommand=self.sy.set)
    
            #绑定事件
            self.tree.bind("<<TreeviewSelect>>",self.func)
        def func(self,event):
            self.v=event.widget.selection()
            for sv in self.v:
                file=self.tree.item(sv)["text"]
                print(file)
                self.otherWin.ev.set(file)
                # {'text': '2015-2017年设计质量评价.xlsx', 'image': '',
                 # 'values': ['C:Usersx07dminDesktopx13家上报x815-2017年设计质量评价.xlsx'], 'open': 0, 'tags': ''}
                # apath=self.tree.item(sv)["values"][0]
                # print("3",apath)
    
    
    
    
        def loadTrea(self,parent,parent_path):
            for file_name in os.listdir(parent_path):
                abs_path=os.path.join(parent_path,file_name)
                treey=self.tree.insert(parent,"end",text=self.getLastPath(abs_path),values=(abs_path))
                if os.path.isdir(abs_path):
                    self.loadTrea(treey,abs_path)
    
        def getLastPath(self,path):
            pathList=os.path.split(path)
            return pathList[-1]
    treeWindows.py
    import tkinter
    from tkinter import ttk
    import os
    
    class InfoWindows(tkinter.Frame):
        def __init__(self,master):
            frame = tkinter.Frame(master)
            frame.grid(row=0, column=1, padx=15, pady=15)
            self.ev=tkinter.Variable()
            self.entry=tkinter.Entry(frame,textvariable=self.ev)
            self.entry.pack(side=tkinter.TOP,fill=tkinter.X, pady=8)
    
            self.txt=tkinter.Text(frame)
            self.txt.pack(fill=tkinter.BOTH)
    infoWindows.py

     

  • 相关阅读:
    ActiveMQ-在Centos7下安装和安全配置
    Servlet基础知识点
    Filter的执行顺序
    Dubbo-使用Maven构建Dubbo服务的可执行jar包
    Dubbo-Centos7管控台安装
    Spring 小知识点
    Zookeeper+ActiveMQ集群搭建
    Zookeeper在Centos7上搭建单节点应用
    SpringMVC+AJAX+JSON
    RocketMQ-Filer
  • 原文地址:https://www.cnblogs.com/Mengchangxin/p/9898824.html
Copyright © 2011-2022 走看看