---我正在macOS Catalina上使用Python 3.7.4,Tcl / Tk 8.6.9 ---
这两个行为是否不同?我的理解是,ttk应该与tkinter具有相同的功能,只是ttk具有主题功能。
但是,我在系统上遇到的是第一个示例中的选项菜单,将显示所有选项(a至c),而第二个示例中的ttk版本仅显示选项“ b”和“ c”。
# test-tk-optionmenu.py
import tkinter as tk
root = tk.Tk()
optionList = ('a', 'b', 'c')
v = tk.StringVar()
v.set(optionList[0]) # Here is the initially selected value
om = tk.OptionMenu(root, v, *optionList)
om.pack()
v.set(optionList[2]) # This one will be the final selected value
root.mainloop()
使用ttk选项菜单
# test-ttk-optionmenu.py
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
optionList = ('a', 'b', 'c')
v = tk.StringVar()
v.set(optionList[0]) # Here is the initially selected value
om = ttk.OptionMenu(root, v, *optionList)
om.pack()
v.set(optionList[2]) # This one will be the final selected value
root.mainloop()
我误解了ttk吗?