Python 2.7/Windows: раскрывающийся список ttk combobox отображается под самым верхним корневым окном

Я экспериментирую с новыми улучшениями ttk Tile, которые поставляются с Python 2.7.

Windows 7: приведенный ниже код демонстрирует, как раскрывающийся список со списком отображается ЗА нашим корневым окном, когда корневое окно настроено как самое верхнее окно («всегда сверху»). Если вы закомментируете строку """ 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()

person Malcolm    schedule 24.10.2010    source источник


Ответы (1)


Это известная ошибка в наборе инструментов Tk. Она была исправлена ​​в выпуске 8.5.6. Возможно, вам просто нужно подождать, пока этот релиз не появится в Python.

person Frédéric Hamidi    schedule 24.10.2010
comment
Спасибо, Фредерик. С уважением, Малькольм - person Malcolm; 24.10.2010