Python 参数';事件';值未被使用
我正在用Python2.7开发一个程序,在Pycharm上遇到了一个问题。在程序中,我希望用户能够通过单击按钮或按“回车”键在不同的屏幕中导航。我试着在我的程序中实现它,但Pycharm给出了错误Python 参数';事件';值未被使用,python,user-interface,button,Python,User Interface,Button,我正在用Python2.7开发一个程序,在Pycharm上遇到了一个问题。在程序中,我希望用户能够通过单击按钮或按“回车”键在不同的屏幕中导航。我试着在我的程序中实现它,但Pycharm给出了错误 import Tkinter as Tk class MemoryGameApp(Tk.Tk): def __init__(self, *args, **kwargs): Tk.Tk.__init__(self, *args, **kwarg
import Tkinter as Tk
class MemoryGameApp(Tk.Tk):
def __init__(self, *args, **kwargs):
Tk.Tk.__init__(self, *args, **kwargs)
Tk.Tk.wm_title(self, "2 screens")
container = Tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (StartPage, PageTwo):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class StartPage(Tk.Frame):
def __init__(self, parent, controller):
Tk.Frame.__init__(self, parent)
label = Tk.Label(self, text="Page 1")
label.pack()
global button
button = Tk.Button(self, text="Next", width=5, command=lambda: controller.show_frame(PageTwo))
button.pack(pady=100, padx=100)
button.focus_set()
def press_enter(event):
controller.show_frame(PageTwo)
button2.focus_set()
button.bind("<Return>", press_enter)
class PageTwo(Tk.Frame):
def __init__(self, parent, controller):
Tk.Frame.__init__(self, parent)
label_title2 = Tk.Label(self, text="Page 2")
label_title2.pack()
global button2
button2 = Tk.Button(self, text="Back", width=5, command=lambda: controller.show_frame(StartPage))
button2.pack(pady=100, padx=100)
def press_enter(event):
controller.show_frame(StartPage)
button.focus_set()
button2.bind("<Return>", press_enter)
app = MemoryGameApp()
app.mainloop()
将Tkinter作为Tk导入
类MemoryGameApp(Tk.Tk):
定义初始化(self,*args,**kwargs):
Tk.Tk.\uuuuu初始化(self,*args,**kwargs)
Tk.Tk.wm_标题(自我,“两屏”)
容器=Tk.框架(自身)
container.pack(side=“top”,fill=“both”,expand=True)
container.grid_rowconfigure(0,权重=1)
container.grid\u column配置(0,权重=1)
self.frames={}
对于F英寸(起始页,第二页):
框架=F(容器,自身)
self.frames[F]=帧
frame.grid(行=0,列=0,sticky=“nsew”)
自显示帧(起始页)
def显示画面(自身,续):
帧=自身帧[续]
frame.tkraise()
类起始页(传统框架):
定义初始化(自、父、控制器):
Tk.Frame.\uuuu init\uuuuu(自,父)
label=Tk.label(self,text=“第1页”)
label.pack()
全局按钮
button=Tk.button(self,text=“Next”,width=5,command=lambda:controller.show_frame(第二页))
按钮组(pady=100,padx=100)
按钮。焦点设置()
def按回车键(事件):
控制器显示画面(第二页)
按钮2.焦点设置()
按钮绑定(“,按回车键)
第二类(传统框架):
定义初始化(自、父、控制器):
Tk.Frame.\uuuu init\uuuuu(自,父)
label_title2=Tk.label(self,text=“第2页”)
标签标题2.pack()
全局按钮2
button2=Tk.Button(self,text=“Back”,width=5,command=lambda:controller.show_frame(起始页))
按钮2.包装(pady=100,padx=100)
def按回车键(事件):
控制器。显示帧(起始页)
按钮。焦点设置()
按钮2.绑定(“,按回车键)
app=MemoryGameApp()
app.mainloop()
它给出了def press_enter(事件)中的错误:
它声称未使用事件,但如果我将其从程序中删除,程序将无法正常运行
我知道当它被实现时它是有效的,我只是想看看是否有任何方法可以解决这个问题
感谢要删除此警告,您可以将参数“event”替换为“\ux”,或者只对对象执行一些操作,例如将其打印到控制台
即使函数的参数看起来没用,也不能删除:它属于有效事件函数的签名。修复缩进。此代码不可读,无法解释。没有问题。缩进已修复。这不是错误。这只是IDE给您的一个提示。实际上,这个变量没有在任何地方使用,所以它认为可能不需要它。然而,这并不意味着你的代码有问题。