【问题标题】:Python 2.7/Windows: ttk combobox dropdown shows up underneath topmost root windowPython 2.7/Windows:ttk 组合框下拉菜单显示在最上面的根窗口下方
【发布时间】:2011-04-29 18:29:25
【问题描述】:

我正在试验 Python 2.7 附带的新 ttk Tile 增强功能。

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()

【问题讨论】:

    标签: python windows tkinter ttk


    【解决方案1】:

    这是Tk 工具包中的known bug。它已在release 8.5.6 中修复。也许您只需要等到该版本进入 Python。

    【讨论】:

    • 谢谢弗雷德里克。问候,马尔科姆
    猜你喜欢
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    相关资源
    最近更新 更多