Python 2.7 / Windows: TTK casella combinata a discesa si presenta sotto finestra radice più in alto

StackOverflow https://stackoverflow.com/questions/4007325

  •  25-09-2019
  •  | 
  •  

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()
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top