【发布时间】:2015-09-23 17:58:45
【问题描述】:
我使用Tkinter 和ttk 构建了一个简单的用户下拉菜单。我使用textvariable.set() 为加载时的窗口设置默认值。一切都很好。代码如下。
from Tkinter import *
import ttk
parent = Tk()
myvalue = StringVar()
user_entry1 = ttk.Combobox(parent, values=['value 1', 'value2'], textvariable=myvalue)
user_entry1.pack()
myvalue.set('default value')
mainloop()
我现在想变得更复杂一些,并使用另一个名为 root 的 Tk() 实例来生成我的 parent Tk() 实例。一切似乎都很好,预计下拉菜单的默认值不会显示。正如print myvalue.get() 所证明的那样,它确实被分配给了文本变量。我在这里错过了什么?
from Tkinter import *
import ttk
root = Tk()
def load_dropdown():
parent = Tk()
myvalue = StringVar()
user_entry1 = ttk.Combobox(parent, values=['value 1', 'value2'], textvariable=myvalue)
user_entry1.pack()
myvalue.set('default value')
print myvalue.get()
parent.mainloop()
b = Button(root, text="Generate Dropdown ", command=load_dropdown)
b.pack()
root.mainloop()
【问题讨论】:
标签: python python-2.7 tkinter ttk