Python 2.7/Windows: ttk 下拉框在最上层窗口下方显示
我正在尝试使用Python 2.7中新增的ttk Tile功能。
在Windows 7上,下面的代码演示了当根窗口设置为“总在最上面”(也就是总是显示在其他窗口上方)时,组合框下拉菜单会出现在根窗口的后面。如果你把这一行代码 """ root.attributes( '-topmost', 1 )""" 注释掉,那么组合框的下拉菜单就会正常显示在根窗口内(这才是我们预期的效果)。
有没有人知道怎么解决这个问题,这样我们就可以在“总在最上面”的窗口中使用组合框了?
# sample code that illustrates problem described above
import Tkinter as tkinter
import ttk
root = tkinter.Tk()
panelCombo = ttk.Frame( root )
panelCombo.pack( side='top', fill='x', padx=12, pady=8 )
valCombo = ( 'cat', 'dog', 'pig' )
varCombo = tkinter.StringVar()
varCombo.set( 'fish' )
cboCombo = ttk.Combobox( panelCombo, values=valCombo, textvariable=varCombo )
cboCombo.pack( side='left', anchor='w', padx=12, pady=8 )
# make our window 'alwaysontop'
root.attributes( '-topmost', 1 )
root.mainloop()