切换后Tkinter窗口不清除多个输入字段

时间:2017-08-04 08:32:54

标签: python tkinter

“[原帖]我在我的tkinter窗口中选择特定选项后尝试使用Radiobuttons显示更多输入字段,但我的'selection'变量的值总是默认为0,并且永远不会改变。[现已修复]

而且,除此之外,我不确定如何在选项之间切换时如何继续更新我的tkinter窗口。我试图实现tkinter update()函数,但它对我来说还没有用。任何有用的建议将受到高度赞赏。[原帖结束]“

这是我原帖的后续内容,有没有办法在我在条目数之间切换后清除多个输入字段。即。如何刷新tkinter窗口以保持条目数与我的选择一致?

我在下面发布了我的演示代码......

from tkinter import *
import time

def selection_window():
selection = var.get()

### Debug ###
print("going in...")
print(selection)

if selection == 1:
    Label(master, text="Info").grid(row=0, column=2)

    Label(master, text=" Input:").grid(row=1, column=2)
    e3 = Entry(master)
    e3.grid(row=1, column=3)

    print("going in2...") ### Debug ###

elif selection == 2:

    Label(master, text="Info").grid(row=0, column=2)

    Label(master, text=" Input:").grid(row=1, column=2)
    e3 = Entry(master)
    e3.grid(row=1, column=3)

    #####################################################################
    #####################################################################
    Label(master, text="Info2").grid(row=0, column=4)

    Label(master, text=" Input2:").grid(row=1, column=4)
    e23 = Entry(master)
    e23.grid(row=1, column=5)

    print("going in3...") ### Debug ### 




if __name__ == '__main__':
master = Tk()
master.title('Demo A')


#####################################################################
###  Display - Multiple fields


Label(master, text="More Info").grid(row=0, column=0)

Label(master, text="Type:").grid(row=1, column=0)
e7 = Entry(master)
e7.grid(row=1, column=1)


#####################################################################
#####################################################################

Button(master, text='Quit', command=master.quit).grid(row=30, column=0, sticky=W, pady=10)
#####################################################################
#####################################################################
var = IntVar()
Label(master, text="Select options").grid(row=33, column=0, sticky=W)
Radiobutton(master, text="1", variable=var, value=1).grid(row=33, column=1, sticky=W)
Radiobutton(master, text="2", variable=var, value=2).grid(row=33, column=2, sticky=W)
Button(master, text="Options+", command=selection_window).grid(row=34, column=0, sticky=W, pady=10)



master.geometry("640x360")

#####################################################################
## Update window
#####################################################################

master.mainloop()
time.sleep(0.1)

### other method to update window(NOT WORKING)
# master.update_idletasks()
# master.update()

0 个答案:

没有答案