如何控制Tkinter中下拉菜单的位置?

时间:2016-06-09 21:37:33

标签: python python-3.x user-interface tkinter

我正在尝试更改Tkinter中的下拉菜单似乎呈现的方式。我在TutorialsPoint上找到了这段代码:

    from Tkinter import *


    def donothing():
        filewin = Toplevel(root)
        button = Button(filewin, text="Do nothing button")
        button.pack()


    root = Tk()
    menubar = Menu(root)
    filemenu = Menu(menubar, tearoff=0)
    filemenu.add_command(label="New", command=donothing)
    filemenu.add_command(label="Open", command=donothing)
    filemenu.add_command(label="Save", command=donothing)
    filemenu.add_command(label="Save as...", command=donothing)
    filemenu.add_command(label="Close", command=donothing)

    filemenu.add_separator()

    filemenu.add_command(label="Exit", command=root.quit)
    menubar.add_cascade(label="File", menu=filemenu)
    editmenu = Menu(menubar, tearoff=0)
    editmenu.add_command(label="Undo", command=donothing)
    editmenu.add_separator()

    editmenu.add_command(label="Cut", command=donothing)
    editmenu.add_command(label="Copy", command=donothing)
    editmenu.add_command(label="Paste", command=donothing)
    editmenu.add_command(label="Delete", command=donothing)
    editmenu.add_command(label="Select All", command=donothing)

    menubar.add_cascade(label="Edit", menu=editmenu)
    helpmenu = Menu(menubar, tearoff=0)
    helpmenu.add_command(label="Help Index", command=donothing)
    helpmenu.add_command(label="About...", command=donothing)
    menubar.add_cascade(label="Help", menu=helpmenu)

    root.config(menu=menubar)
    root.mainloop()

根据网站,呈现的菜单应如下所示:Dropdown Menu Image Web

但是,当我在计算机上运行程序时,我看到的是:Dropdown Menu Image Local

我有什么方法可以强制网络版本中显示的行为,其中每个下拉菜单从菜单按钮的左角延伸到右边,而不是从菜单按钮的右角延伸到左边?

2 个答案:

答案 0 :(得分:3)

我猜测这与您计算机上的设置有关,而与tkinter / Python无关。

它就像我的电脑上的TutorialsPoint一样好! enter image description here

要注意的事情......(也许这适用于?)根据您的窗口与下拉列表的位置,下拉列表的方向会发生变化(这是我靠近显示器边缘的窗口)

enter image description here

如果我有双重监视器,我也会测试它。希望这会有所帮助。

答案 1 :(得分:-1)

我在台式机Windows 8.1系统上有此问题。

我修复了

  1. 转到控制面板,Tablet PC设置
  2. 单击“其他”选项卡,并将“惯用性”选项设置为“惯用左手”
  3. 单击“应用”按钮。

有关更多信息,请参见以下链接:https://www.askvg.com/how-to-change-menu-position-from-left-to-right-in-windows-vista/