Python 2.7 / Windows: TTK casella combinata a discesa si presenta sotto finestra radice più in alto
Domanda
sto sperimentando con i nuovi miglioramenti ttk tegola che nave con Python 2.7.
Windows 7: Il seguente codice illustra come gli spettacoli casella combinata a discesa dietro la nostra finestra principale quando la finestra principale è configurato come una finestra in primo piano ( "sempre in primo piano"). Se commentare la linea "" "root.attributes ( '-topmost', 1) ''" Allora le appare casella combinata a discesa all'interno della finestra principale (come previsto).
Qualcuno ha alcuna soluzione alternativa per questo comportamento in modo che possiamo utilizzare comboboxes con finestre 'più in alto'?
# 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()
Soluzione
Questo è un noto bug nel toolkit Tk
. E 'stato fissato in rilascio 8.5.6 . Forse hai solo bisogno di aspettare fino a che la stampa si fa strada in Python.