相关疑难解决方法(0)

Python参数绑定器

如何将参数绑定到Python方法以存储一个用于以后调用的nullary仿函数?与C++类似boost::bind.

例如:

def add(x, y):
    return x + y

add_5 = magic_function(add, 5)
assert add_5(3) == 8
Run Code Online (Sandbox Code Playgroud)

python partial-application

60
推荐指数
5
解决办法
2万
查看次数

将参数传递给 Python 中的绑定函数

#!/usr/bin/python3
from Tkinter import *

def keypress(key):
    print key, "pressed"

if __name__ == '__main__':
   root = Tk()
   root.bind('<Return>', keypress(key="enter"))
   root.bind('a', keypress(key="a"))
   root.mainloop()
Run Code Online (Sandbox Code Playgroud)

我意识到程序一启动就会调用该函数,但我不知道如何将参数传递给 keypress 函数而不立即调用它。有人可以解释如何修复它吗?

更新代码:

#!/usr/bin/python3
from Tkinter import *

def keypress(key):
    print key, "pressed"


root = Tk()
root.bind("<Return>", lambda event: keypress(key="enter"))
root.bind("a", lambda event: keypress(key="a"))
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python tkinter

3
推荐指数
1
解决办法
6539
查看次数

Python tkinter使用多个参数绑定一个函数

我有一个普遍的问题,我无法真正找到答案,所以希望你们可以提供帮助.我有一个带3个参数的函数,下面是我所拥有的一个例子.

def someFunction(self, event, string):

   do stuff ..

self.canvas.bind("<Button-1>", self.someFunction("Hello"))
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到一个错误,说我通过了一些功能2参数而不是3.我不知道为什么..

python arguments tkinter

1
推荐指数
1
解决办法
5998
查看次数

tkinter 中的命令和绑定有什么区别?

我试图让按钮在按下时打印一个字符串,并在释放时打印另一个。我知道command属性和bind方法,但我想知道是否可以仅使用属性来完成它,或者我是否必须使用方法。用这段代码:

class motor:
     def __init__(eleMesmo, eixo , valorZero):
         eleMesmo.eixo = eixo
         eleMesmo.zero = valorZero

     def aumenta(self):
         print(self.eixo + str(self.zero+5))
     def diminui(self):
         print(self.eixo + str(self.zero-5))
     def para(self):
    print(self.eixo + str(self.zero))

eixox = motor('x',90)
eixoy = motor('y',90)


class Interface:
    def __init__(elemesmo, widget):
         quadro = Frame(widget)
         quadro.pack()
         elemesmo.aumentarY = Button(quadro,text="Aumentar Y",height=10,width=20,command=eixoy.aumenta)
         elemesmo.aumentarY.pack(side=TOP)
         elemesmo.diminuirY = Button(quadro,text="Diminuir Y",height=10,width=20,command=eixoy.diminui)
Run Code Online (Sandbox Code Playgroud)

我可以在按下按钮时调用aumenta对象的方法。我想在释放按钮时调用对象的方法。我该怎么做?eixo yaumentarYparaeixo yaumentarY

python methods tkinter button

1
推荐指数
1
解决办法
4394
查看次数