要求:
1、显示当前文件夹所有文件名,并插入列表框
2、将列表框所选的文件打印出来
代码如下:
import tkinter as tk #导入tkinter库,并设置简称为tk
import os #导入os库
root=tk.Tk() #建立窗体对象并赋值给root
root.geometry('600x500 100 100') #设置root窗体的大小尺寸
root.title("展示文件列表") #设置root窗体的标题是展示文件列表
root.attributes('-alpha',2) #设置窗体的不透明度为2,数值越小,透明度越高
font_16=('宋体',16) #设置字体变量的值是16号宋体,并赋值给font_16变量
color1='#b1b2b2' #设置color1颜色变量的值
list1=tk.StringVar() #定义列表变量list1
list1.set([]) #设置list1初始值为空列表
#定义list1列表框按钮
list1_button=tk.Listbox(root,listvariable=list1,width=30,font=font_16,bg=color1)
list1_button.grid(row=2,column=1,padx=2,pady=2)
#定义显示所有文件的函数showfiles
def showfiles():
files=os.listdir() #调用listdir方法实现获取所有文件,并赋值给files
for file in files: #遍历files列表里的变量file
list1_button.insert('end',file) #将遍历到的文件追加到list1列表框的末尾
print("{}插入成功".format(file)) #打印文件插入成功
show_button=tk.Button(root,text='展示所有文件',width=30,font=font_16,bg=color1,relief=tk.FLAT,command=showfiles)
show_button.grid(row=1,column=1,padx=2,pady=2)
#定义显示所选文件的方法show_selection
def show_selection():
value=list1_button.get(list1_button.curselection()) #将所选数据赋值给value变量
L1=tk.Label(root,text=value,width=30,font=font_16,bg='green',relief=tk.FLAT)
L1.grid(row=4,column=1,pady=2,padx=2)
#定义show_button按钮,当被点击时,触发show_selection函数
show_button=tk.Button(root,text='展示所选文件',width=30,font=font_16,bg=color1,relief=tk.FLAT,command=show_selection)
show_button.grid(row=3,column=1,pady=2,padx=2)
#定义quit_button按钮,当被点击时,触发退出窗体函数quit
quit_button=tk.Button(root,text='退出',command=root.quit)
quit_button.grid(row=10,column=100)
root.mainloop() #循环显示root窗体
运行结果如下图所示: