python - 在 Python 3.6 和 tkinter 中创建菜单时,下拉菜单不会保留在 Frame 中

标签 python python-3.x tkinter

编辑:操作系统是 Windows 10 64 位

好的,所以我已经在谷歌上搜索了我的后端。我正在构建一个简单的 tkinter 应用程序,在设置它后,通常只是乱七八糟地添加选项,我从创建的菜单中的下拉菜单不会限制在框架内。

import tkinter as tk


class Window(tk.Frame):

    def __init__(self, master=None):
        super().__init__(master)
        self.master = master
        self.main_window()
        self.widgets()

    # All main window parameters go here
    def main_window(self):
        self.master.title("Calculate Commission")
        self.master.geometry("800x600")
        self.pack()

    def widgets(self):
        main_menu = tk.Menu(self.master, tearoff=0)
        self.master.config(menu=main_menu)

        # Create File Menu and Drop Down
        file = tk.Menu(main_menu, tearoff=0)
        file.add_command(label="Save")
        file.add_command(label="Exit", command=exit)
        main_menu.add_cascade(label="File", menu=file)

        # Create Edit Menu and Drop Down
        edit = tk.Menu(main_menu, tearoff=0)
        edit.add_command(label="undo")
        main_menu.add_cascade(label="Edit", menu=edit)


main = tk.Tk()
comm_prog = Window(master=main)
main.mainloop()

请参阅随附的屏幕截图以了解我所指的内容:Menu Outisde of Frame

我相当有信心这可能会以两种方式结束。这要么是我在某个地方犯的菜鸟错误,要么是它依赖于系统,并且由于某种原因仅特定于我的计算机。如果有人有任何见解,我将不胜感激。

添加Tcl版本截图:Tcl Version

最佳答案

你的代码没有任何问题。此行为取决于系统。菜单由操作系统控制,而不是 OSX 和 Windows 上的 tkinter。

关于python - 在 Python 3.6 和 tkinter 中创建菜单时,下拉菜单不会保留在 Frame 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43146550/

相关文章:

python - 运行后`pip: error: No command by the name pip install -r requirements.txt`

python - Python 中的可编辑组合框

python - 使用 pandas 将 Excel 数据过滤到另一个 Excel

python - Flask Jsonify mongoengine 查询

python - 如何在python中将 "key"列与其他列分别写入csv

python - pandas 中带有内部连接的 where 条件

python - 如何将定义为 (Entry.get()) 的变量从一个函数传递到另一个函数?

python - Tkinter - 在错误的屏幕上创建的按钮

python - 在 Python 中检测装饰器

python - 路径函数在 python IDLE 和 google colab 中的工作方式是否不同?