我在 Arch Linux x86_64 上使用 Python 3.2.1。
这个问题真的让我发疯了:我只想为 ttk.Combobox
设置一个默认的预选值,一旦我把它放到网格中。以下是我的代码:
from tkinter import Tk, StringVar, ttk
root = Tk()
def combo(parent):
value = StringVar()
box = ttk.Combobox(parent, textvariable=value, state='readonly')
box['values'] = ('A', 'B', 'C')
box.current(0)
box.grid(column=0, row=0)
combo(root)
root.mainloop()
绘制一个空的Combobox
。有趣的是,如果我不使用函数,它会完美地工作:
from tkinter import Tk, StringVar, ttk
root = Tk()
value = StringVar()
box = ttk.Combobox(root, textvariable=value, state='readonly')
box['values'] = ('A', 'B', 'C')
box.current(0)
box.grid(column=0, row=0)
root.mainloop()
当然,在实际程序中我需要使用一个函数,因此我需要另一种解决方案。
box_value
上使用了一个局部变量;使用self.box_value
就可以解决问题了 ;) - kynikosttk.__file__
确保它是正确的ttk
模块。 - Eryk Sunself.box.current("迪拜")
- Jalkhov