在 tkinter 中每次循环迭代后更新文本窗口

时间:2021-07-05 20:49:08

标签: python css tkinter

我正在尝试打印 Tkinter 中给定文件夹中列出的所有文件,以及我用来显示它的代码,只显示该文件夹中的最后一个文件..知道如何显示文件名行按行 ??

import tkinter as tk
from tkinter.constants import BOTTOM, TOP
from tkinter import filedialog
import os
import hashlib



window = tk.Tk()


window.geometry("")
window.resizable(height="false",width="false")



def browsefunc():
    filename = filedialog.askopenfilename()
    text.config(text=filename)
    
def browsefolder():
    folder_selected = filedialog.askdirectory()
    text.config(text=folder_selected)
    path = folder_selected
    file_list=[]
    for root, dirs, files in os.walk(path):
        for file in files:
            file_list.append(file)
            scan_output.config(text=file)
    
    


#Blue colour frame
frame1=tk.Frame(window,width=400,height=400,bd=1, relief='solid',bg= "#33ccff",)
frame1.grid(row=0,column=0,rowspan=1,columnspan=1,sticky="NSEW")
frame1.rowconfigure([0,1,2,3,4,5],weight=1)
frame1.columnconfigure([0,1,2,3,4,5],weight=1)


#Button for opening filep
btn_open=tk.Button(frame1,text="Scan File",command=browsefunc)
btn_open.grid(row=5,column=2,padx=5, pady=5,)

#Button for opening folder
btn_open_folder=tk.Button(frame1, text="Scan Folder",command=browsefolder)
btn_open_folder.grid(row=5,column=3,padx=5, pady=5)

#Text box to show selected file
text=tk.Label(frame1,width=30,relief="sunken")
text.grid(row=4,column=1,columnspan=4)



frame2=tk.Frame(window,width=400,height=600,bd=1, relief='solid')
frame2.grid(row=0,column=1,rowspan=2,sticky="NSEW")


#Text window in frame 2 to show all the files
scan_output=tk.Label(frame2,width=50,height=30,relief="sunken")
scan_output.grid(row=0,column=0)



frame3=tk.Frame(window,width=400,height=100,bd=1, relief='solid')
frame3.grid(row=1,column=0,rowspan=1,columnspan=1,sticky="NSEW")


window.mainloop()

这是我得到的输出。

enter image description here

知道我做错了什么吗?

0 个答案:

没有答案
相关问题