import tkinter as tkclass Application def __init__self master=None selfmaster = master # 新增mainloop方法 selfmastergeometry300x100 selfmastertitle加密程序 # 新增mainloop
可能是因为代码缩进不正确导致的,可以检查一下代码缩进是否正确。另外,也可以尝试将代码中的 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() 方法在初始化完成后立即被调用
原文地址: https://www.cveoy.top/t/topic/g3hN 著作权归作者所有。请勿转载和采集!