[英]Show files in tkinter Scrollbar
我試圖從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)
在代碼中,插入函數文件名。 插入文件名函數的返回值。
我將fileName
重命名為get_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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.