Python 2.7 / Windows:ttk组合框下拉列表显示在最顶层的根窗口下方

时间:2010-10-24 06:50:39

标签: python windows tkinter ttk

我正在尝试使用Python 2.7附带的新ttk Tile增强功能。

Windows 7:下面的代码演示了当根窗口配置为最顶层窗口(“始终在顶部”)时,组合框下拉列表如何显示我们的根窗口。如果你注释掉“”“root.attributes(' - topmost',1)”“”这一行,那么组合框下拉列表会出现在根窗口内(如预期的那样)。

任何人都有这种行为的解决方法,所以我们可以将组合框与'topmost'窗口一起使用?

# 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()

1 个答案:

答案 0 :(得分:1)

这是Tk工具包中的known bug。它已在release 8.5.6中修复。也许你只需要等到那个版本进入Python。