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

Я экспериментирую с новыми улучшениями 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()

1 Ответ

1 голос
/ 24 октября 2010

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

...