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

     

  • 相关阅读:
    vue中插槽的理解
    父子组件的通信
    vue3.0怎么禁用eslint校验代码和修改端口号
    三大排序
    让机器人实现自主行走 没你想的那么难
    国内外知名激光雷达公司盘点
    激光雷达寿命短,思岚通过什么技术来解决?
    浅谈SLAM的回环检测技术
    除了ROS, 机器人定位导航还有其他方案吗?
    思岚科技即将登陆“2018日本机器人周”精彩抢先看
  • 原文地址:https://www.cnblogs.com/Mengchangxin/p/9898824.html
Copyright © 2011-2022 走看看