可能是因为代码缩进不正确导致的,可以检查一下代码缩进是否正确。另外,也可以尝试将代码中的 mainloop() 方法移动到 __init__() 方法的末尾,如下所示:

class Application:
    def __init__(self, master=None):
        self.master = master
        self.master.geometry("300x100")
        self.master.title("加密程序")

        # 创建菜单栏
        self.menu_bar = tk.Menu(self.master)

        # 创建加密菜单
        self.encrypt_menu = tk.Menu(self.menu_bar, tearoff=0)
        self.encrypt_menu.add_command(label="凯撒密码", command=self.caesar_cipher)
        self.encrypt_menu.add_command(label="多字符代替密码", command=self.polybius_square)
        self.encrypt_menu.add_command(label="同态加密", command=self.homomorphic_encryption_window) # 添加同态加密菜单项

        # 添加菜单栏
        self.menu_bar.add_cascade(label="菜单", menu=self.encrypt_menu)
        self.master.config(menu=self.menu_bar)

        # 新增mainloop()方法
        self.master.mainloop()

这样可以确保 mainloop() 方法在初始化完成后立即被调用

import tkinter as tkclass Application def __init__self master=None selfmaster = master # 新增mainloop方法 selfmastergeometry300x100 selfmastertitle加密程序 # 新增mainloop

原文地址: https://www.cveoy.top/t/topic/g3hN 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录