以下代码导致菜单栏中的级联菜单固定在右侧而不是左侧,原因不明。
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()
答案 0 :(得分:4)
我能够解决问题。我首先只注意到我自己的应用程序中的问题,而其他人似乎正常工作。在尝试了一些其他应用程序后,似乎问题不仅限于我自己的问题。我想我先尝试的那些没有问题,因为他们可能使用了不同的widget工具包。问题是由Windows(8.1)引起的,它自动切换了平板电脑的一些设置(我有一个半平板电脑:联想Thinkpad瑜伽)。
运行以下命令解决问题(按Windows键+ R运行命令)
shell:::{80F3F1D5-FECA-45F3-BC32-752C152E456E}
这将使您进入“平板电脑设置”。在“其他”选项卡中,您必须确保选择“左手”。这会将菜单的外观更改为正常。