2010-10-24 24 views
1

我正在嘗試使用Python 2.7附帶的新ttk Tile增強功能。Python 2.7/Windows:ttk combobox下拉菜單顯示在最上方的根窗口下方

Windows 7:下面的代碼演示了當根窗口被配置爲最上面的窗口(「總是在上面」)時,組合框下拉菜單顯示爲「BEHIND」的根窗口。如果你註釋掉「」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() 

回答

1

這是Tk工具包中的known bug。它被修復在release 8.5.6。也許你只需要等到該版本進入Python。

+0

謝謝Frédéric。問候,馬爾科姆 – Malcolm 2010-10-24 14:46:53