Tkinter Combobox 没有获得价值
Tkinter Combobox dont get value
我也成功地将组合框应用于新的 window。但是通过get()函数获取组合框的值失败。
win = tk.Tk()
win.title("win1")
def com():
win2 = tk.Tk()
win2.grab_set()
win.title("win2")
r_location_value = tk.StringVar()
location = ttk.Combobox(win2, width=8, textvariable=r_location_value,
values=["a", "b", "c", "d", "e", "f", "g", "h", "i","j"])
v = r_location_value.get()
print(r_location_value.get())
def tt():
v = r_location_value.get()
print(v)
location.current(0)
location.pack()
Button = tk.Button(win2,text="click",command = tt)
Button.pack()
Button = tk.Button(win,text="click",command = com)
Button.pack()
win.mainloop()
为了解决这个问题,我创建了一个新变量并尝试放入 get() 值,但失败了。
正如评论中提到的其他一些人,我不能说我会推荐这种结构 - 但是我确实有解决您问题的方法。
在您的 tt() 函数中使用以下内容来打印选择:
print(location.get())
这是在获取与组合框关联的值。如果您得到的是 StringVar,它实际上并没有抓住您想要的东西。或者,您可以使用连接到字典的 OptionBox,然后您将获得要打印的 StringVar 和关联值。希望这对您有所帮助。
win = tk.Tk()
win.title("win1")
def com():
win2 = tk.Tk()
win2.grab_set()
win.title("win2")
r_location_value = tk.StringVar()
location = ttk.Combobox(win2, width=8, textvariable=r_location_value, values=["A", "B", "C"])
def tt():
print(location.get())
location.current(0)
location.pack()
Button = tk.Button(win2, text="click", command = tt)
Button.pack()
Button = tk.Button(win, text="click",command = com)
Button.pack()
win.mainloop()
我也成功地将组合框应用于新的 window。但是通过get()函数获取组合框的值失败。
win = tk.Tk()
win.title("win1")
def com():
win2 = tk.Tk()
win2.grab_set()
win.title("win2")
r_location_value = tk.StringVar()
location = ttk.Combobox(win2, width=8, textvariable=r_location_value,
values=["a", "b", "c", "d", "e", "f", "g", "h", "i","j"])
v = r_location_value.get()
print(r_location_value.get())
def tt():
v = r_location_value.get()
print(v)
location.current(0)
location.pack()
Button = tk.Button(win2,text="click",command = tt)
Button.pack()
Button = tk.Button(win,text="click",command = com)
Button.pack()
win.mainloop()
为了解决这个问题,我创建了一个新变量并尝试放入 get() 值,但失败了。
正如评论中提到的其他一些人,我不能说我会推荐这种结构 - 但是我确实有解决您问题的方法。
在您的 tt() 函数中使用以下内容来打印选择:
print(location.get())
这是在获取与组合框关联的值。如果您得到的是 StringVar,它实际上并没有抓住您想要的东西。或者,您可以使用连接到字典的 OptionBox,然后您将获得要打印的 StringVar 和关联值。希望这对您有所帮助。
win = tk.Tk()
win.title("win1")
def com():
win2 = tk.Tk()
win2.grab_set()
win.title("win2")
r_location_value = tk.StringVar()
location = ttk.Combobox(win2, width=8, textvariable=r_location_value, values=["A", "B", "C"])
def tt():
print(location.get())
location.current(0)
location.pack()
Button = tk.Button(win2, text="click", command = tt)
Button.pack()
Button = tk.Button(win, text="click",command = com)
Button.pack()
win.mainloop()