【问题标题】:Tkinter: How do I handle menus with many items?Tkinter:如何处理包含许多项目的菜单?
【发布时间】:2020-06-18 06:04:06
【问题描述】:

如果我的菜单中的项目太多而无法在屏幕上显示,我如何获得菜单底部带有向下箭头的“更多”按钮之一?支持吗?

【问题讨论】:

  • 考虑把它们放在画布上。

标签: python python-3.x tkinter tkinter-menu


【解决方案1】:

您可以简单地向该小部件添加滚动条

from Tkinter import *
master = Tk()
scrollbar = Scrollbar(master)
scrollbar.pack(side=RIGHT, fill=Y)
listbox = Listbox(master, yscrollcommand=scrollbar.set)
for i in range(1000):
    listbox.insert(END, str(i))
listbox.pack(side=LEFT, fill=BOTH)
scrollbar.config(command=listbox.yview)
mainloop()

添加您的菜单代码..这是带有 Yscroll 的列表框代码

【讨论】:

  • 嗯。它似乎仍然不起作用,因为 Menu 对象没有像 Listbox 对象那样的 yscrollcommand 关键字。让我知道我是否误解了你,不知何故。谢谢!
【解决方案2】:

我用级联菜单解决了我的问题。我已经有了一些,但我不想为这些特定的菜单项使用更多——但仔细检查后,我认为这样更好。

我仍然对其他解决方案感兴趣,但对于级联菜单不是一个实用选项的情况(例如,如果屏幕太窄而无法级联那么远或其他什么)。因此,我不打算很快将其标记为已接受的答案(即使在大多数情况下,它可能是最好的解决方案)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多