Python 2.7 / Windows-: ttk Combobox Dropdown zeigt unter oberste Wurzel Fenster
Frage
Ich experimentiere mit den neuen ttk Tile Verbesserungen, des Schiffs mit Python 2.7.
Windows 7: Der folgende Code zeigt, wie die Combobox Dropdown zeigt sich hinter unserem Root-Fenster, wenn das Root-Fenster als oberstes Fenster konfiguriert ist ( „always on top“). Wenn Sie die Zeile aus kommentieren „“ „root.attributes (‚-topmost‘, 1)‚‘“ dann die Combobox Dropdown erscheint im Root-Fenster (wie erwartet).
Wer noch keine Abhilfen für dieses Verhalten haben, so dass wir mit Comboboxen ‚obersten‘ Fenster verwenden kann?
# 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()
Lösung
Das ist ein bekannter Fehler im Tk
Toolkit. Es wurde festgelegt in Release 8.5.6 . Vielleicht brauchen Sie nur zu warten, bis die Freigabe seinen Weg in Python macht.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow