【发布时间】:2015-11-12 15:48:01
【问题描述】:
以下代码会生成一个带有级联菜单的菜单栏,由于未知原因,这些菜单锚定在右侧而不是左侧。
import tkinter as tk
class Menubar(tk.Menu):
def __init__(self, parent, *args, **kwargs):
tk.Menu.__init__(self, parent, *args, **kwargs)
filemenu = tk.Menu(self, tearoff=False)
self.add_cascade(label="File",underline=0, menu=filemenu)
filemenu.add_command(label="Exit", underline=0, command=None)
testmenu = tk.Menu(self, tearoff=False)
self.add_cascade(label="Test",underline=0, menu=testmenu)
testmenu.add_command(label="First option", underline=0, command=None)
class MainApplication(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
menubar = Menubar(parent)
parent.config(menu=menubar)
if __name__ == "__main__":
root = tk.Tk()
MainApplication(root).pack(side="top", fill="both", expand=True)
root.mainloop()
【问题讨论】:
-
它们在我看来是左对齐的。你在什么操作系统上运行这个?其他应用程序上的其他菜单是什么样的,它们也是右对齐的吗?
-
Tk 菜单会出现在光标的左侧,如果您启动它们,它们会在屏幕的右边缘绘制。你接近边缘了吗?当我在 Windows 上测试时看起来很正常,除了在我的屏幕右侧。
标签: python-3.x tkinter menubar