在Tkinter滚动条中显示文件

复仇

我试图从Tkdoc(http://www.tkdocs.com/tutorial/morewidgets.html#scrollbar修改滚动条,以显示文件夹的文件列表,但它不起作用。有人可以解释我为什么吗?以及如何解决。

非常感谢。

from tkinter import *
from tkinter import ttk
import os

def fileName():
    path="C:\\temp"
    dir=os.listdir(path)
    for fn in dir:
        print(fn)


root = Tk()
l = Listbox(root, height=5)
l.grid(column=0, row=0, sticky=(N,W,E,S))
s = ttk.Scrollbar(root, orient=VERTICAL, command=l.yview)
s.grid(column=1, row=0, sticky=(N,S))
l['yscrollcommand'] = s.set
ttk.Sizegrip().grid(column=1, row=1, sticky=(S,E))
root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(0, weight=1)
l.insert(fileName)
root.mainloop()
虚假的

您应该指定插入位置

l.insert(END, filename)

在您的代码中,插入函数文件名。插入文件名函数的返回值。

我重命名fileNameget_filename,并对其进行了修改以返回文件名列表。

from tkinter import *
from tkinter import ttk
import os

def get_filenames():
    path = r"C:\temp"
    return os.listdir(path)


root = Tk()
l = Listbox(root, height=5)
l.grid(column=0, row=0, sticky=(N,W,E,S))
s = ttk.Scrollbar(root, orient=VERTICAL, command=l.yview)
s.grid(column=1, row=0, sticky=(N,S))
l['yscrollcommand'] = s.set
ttk.Sizegrip().grid(column=1, row=1, sticky=(S,E))
root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(0, weight=1)
for filename in get_filenames():
    l.insert(END, filename)
root.mainloop()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章