Python 2.7 / Windows: DTK Combobox Dispdown появляется под верхнее верхнее корневое окно

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

  •  25-09-2019
  •  | 
  •  

Вопрос

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

Windows 7: код ниже демонстрирует, как раскрывающийся список Combobox отображается за нашим корневым окном, когда корневое окно настроен как верхнее окно («всегда сверху»). Если вы прокомментируете строку «root.attributes ('-Topmash», 1) «», то выпадающий классы Combobox появляется в корневом окне (как и ожидалось).

У кого-нибудь есть все обходные пути для этого поведения, чтобы мы могли использовать Comboboxes с «верхней части» Windows?

# 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()
Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top