我想做一个小程序,将采取一个目录中的文件夹列表,并列出他们在一个选择菜单为这个我用了optionmenu,但我也看到人们使用combomenu,所以会很高兴地改变,如果它是一个更好的选择。 在项目菜单中进行选择后,我希望第二个菜单更新为所选项目菜单中的文件夹。最后一步是一样的,但我想这将是一个非常相似的过程。 还有没有打印选项菜单选择的好方法?你知道吗
谢谢!你知道吗
import os, sys
from tkinter import *
from tkinter import ttk
def findshots(*args):
print("change")
return 1
# -------- project selection ---------
currentprojects = './dummy/projects'
currentprojectslist = os.listdir(currentprojects)
# --------- shots list -------------------
projectselection = findshots()
currentshots = "./dummy/projects/{}/shots".format(currentprojectslist[projectselection])
currentshotslist = os.listdir(currentshots)
# ---------- script list -------------------
shotselection = 0
currentnk = "./dummy/projects/{}/shots/{}/nk".format(currentprojectslist[projectselection], currentshotslist[
shotselection])
currentnklist = os.listdir(currentnk)
# ----------------------------------------------
# --------MAIN--------------
root = Tk()
root.geometry("1000x1000+800+100")
root.resizable(width=False, height=False)
# ------- project -----------
projectmenuvar = StringVar(root)
projectmenuvar.set(currentprojectslist[0])
projectmenuvar.trace("w", findshots)
projectmenuvar = OptionMenu(root, projectmenuvar, *currentprojectslist)
projectmenuvar.pack()
# ----------- shot -------------
shotsmenuvar = StringVar(root)
shotsmenuvar.set(currentshotslist[0])
shotsmenuvar = OptionMenu(root, shotsmenuvar, *currentshotslist)
shotsmenuvar.pack()
root.mainloop()
因为
OptionMenu
类似于弹出菜单,所以只要projectmenu
发生更改,就可以更新shotsmenu
菜单项列表。以下是基于您的修改代码:相关问题 更多 >
编程相关推荐