gpt4 book ai didi

python - Python 的文件管理器

转载 作者:行者123 更新时间:2023-11-28 19:23:30 32 4
gpt4 key购买 nike

我尝试实现一个文件管理器,问题出现在使用 Treeview 显示指定的目录时,这会在 TotalCommander'e 中发生

这是一段代码:


from tkinter import *
from tkinter import ttk

class FileBrowser(Frame):

def __init__(self, root):
Frame.__init__(self, root)
self.master.title('Файловый менеджер')
self.master.geometry('1024x768')

listframe = Frame(root, bd=5)
listframe.pack(side='top', fill=BOTH, expand=1)

self.filedirlist = ttk.Treeview(listframe)
self.filedirlist["columns"]=("#1", "#2", "#3", "#4")
self.filedirlist.column("#0", width=175, minwidth=100)
self.filedirlist.column("#1", width=100, minwidth=100)
self.filedirlist.column("#2", width=100, minwidth=100)
self.filedirlist.column("#3", width=100, minwidth=100)
self.filedirlist.column("#4", width=100, minwidth=100)
self.filedirlist.heading("#0", text="Имя")
self.filedirlist.heading("#1", text="Режим")
self.filedirlist.heading("#2", text="Частота, МГц")
self.filedirlist.heading("#3", text="Размер, Мб")
self.filedirlist.heading("#4", text="Комментарий")
self.filedirlist.pack(side='top', fill=BOTH, expand=1)
listsb = Scrollbar(self.filedirlist,
orient=HORIZONTAL, command=self.filedirlist.xview)
listsb.pack(side=BOTTOM, fill=X)

self.listbuttonopen = Button(listframe,
text='Open').pack(side='left', padx='10', pady='5')
self.listbuttondelete = Button(listframe,
text='Delete').pack(side='left', padx='10', pady='5')
self.listbuttonload = Button(listframe,
text='Load').pack(side='left', padx='10', pady='5')

if __name__=='__main__':
root = Tk()
FileBrowser(root).pack()
root.mainloop()

当显示文件夹时,只有“Имя”和“Комментарий”列应该处于事件状态,而其余列只有在选定文件夹的内容时才处于事件状态。

实际问题是:是否可以使用 Treeview'ra 实现它以及如何实现?)

附言对不起我的英语)

最佳答案

您可以使用 tkinter.ttk.Treeview.insertvalues 关键字来更改表的特定列。您已经在使用 text 选项,但之后使用 values=("value1", "value2", "value3") 来指定其他列显示的内容。例如:

Take your Treeview `filedirlist`:
----------------------------------------------
| Name | Type | Size | Notes |
----------------------------------------------
| |
| |
| |
----------------------------------------------

filedirlist.insert("", tkinter.END, "element-id1", text="example1")
----------------------------------------------
| Name | Type | Size | Notes |
----------------------------------------------
| example1 |
| |
| |
----------------------------------------------

filedirlist.insert("", tkinter.END, "element-id2", text="example2", values=("type2", "size2", "notes2"))
----------------------------------------------
| Name | Type | Size | Notes |
----------------------------------------------
| example1 |
| example2 type2 size2 notes2 |
| |
----------------------------------------------

希望这对您有所帮助!

关于python - Python 的文件管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18978371/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com