gpt4 book ai didi

python - 如何绑定(bind)根来调用类内的方法

转载 作者:太空宇宙 更新时间:2023-11-03 19:29:48 25 4
gpt4 key购买 nike

这是我的程序的基本布局:

class App(CheckInfo):
def __init__(self, master):
CheckInfo.__init__(self)
master.title("Example")
.....

之后我有一个方法(在 App 类中),如下所示:

    def moveIt(self):
print "It doesnt work"

在底部(如果在类之外)我有:

root = Tk()
app = App(root)
#root.bind("<Up>",) # I don't know how this works
root.mainloop()

我正在尝试绑定(bind)到root,以便在窗口中的任何时刻我都可以按向上键调用该方法。

我不确定这是如何完成的。

到目前为止我的猜测还没有取得太大进展。

我想我可能需要将事件放入:moveIt(self) => moveIt(self,event)

但我不知道如何将该方法作为参数放入绑定(bind)中,因为:

root.bind("<Up>",moveIt) #doesnt work
root.bind("<Up>",self.moveIt) #obviously not
root.bind("<Up>",root.moveIt) #donsnt make much sense

任何想法将不胜感激!我希望我已经发布了所有相关代码,否则请询问任何需要的说明。

提前致谢。

最佳答案

您的实验可能不起作用,因为默认情况下框架没有具有键盘焦点。尝试添加 root.focus() 以便将键盘事件定向到根窗口。

您问题的另一部分与如何进行绑定(bind)有关。由于 moveIt 是 App 类的方法,而 'app' 是该类的实例,因此您想要的是:

root.bind("<Up>", app.moveIt)

关于python - 如何绑定(bind)根来调用类内的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6473993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com