为什么tkinter选项菜单的行为与ttk选项菜单不同?

时间:2019-10-13 14:44:05

标签: python-3.x tkinter

---我正在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吗?

0 个答案:

没有答案
相关问题