我有一个 Tkinter 下拉菜单,将选择一个名称,我想在以后的代码中使用该名称。 dir_path 中的“名称”不会等待并采用我在 Tkinter 下拉菜单中选择的值。会显示“-空-”
from tkinter import *
def name(event):
global name
name=name_var.get()
name = "- empty -"
window = Tk()
name_var = StringVar(window)
name_label = Label(window, text = 'Please Select Name:',font=10).place(x = 100,y = 50)
name_var.set("Menu:")
drop_menu = OptionMenu(window,name_var,"John","Mary","Alex",command=name)
drop_menu.place(x = 400,y = 50)
dir_path ="C:\\Documents\\{name}\\*.*".format(name=name)
问题是您在下拉菜单中选择名称之前正在格式化 dir_path 字符串。相反,您只需在选择名称后格式化 dir_path。
这是一种方法:
from tkinter import *
def name(event):
global name
name = name_var.get()
update_dir()
name = "- empty -"
def update_dir():
global dir_path
dir_path = "C:\\Documents\\{name}\\*.*".format(name=name)
window = Tk()
name_var = StringVar(window)
name_label = Label(window, text='Please Select Name:',font=10).place(x = 100,y = 50)
name_var.set("Menu:")
drop_menu = OptionMenu(window,name_var,"John","Mary","Alex",command=name)
drop_menu.place(x = 400,y = 50)
update_dir() # initialize dir_path