相关疑难解决方法(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万
查看次数

为什么在声明时执行Button参数"command"?

我的代码是:

from Tkinter import *

admin = Tk()
def button(an):
    print an
    print 'het'

b = Button(admin, text='as', command=button('hey'))
b.pack()
mainloop()
Run Code Online (Sandbox Code Playgroud)

按钮不起作用,在没有我的命令的情况下打印'hey'和'het'一次,然后,当我按下按钮时没有任何反应.

python tkinter

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

tkinter在for循环传递命令参数中创建按钮

我试图在for循环中创建tkinter中的按钮.并且每个循环都将i count值作为参数传递给命令值.因此,当从命令值调用函数时,我可以判断按下了哪个按钮并相应地执行操作.问题是,假设len为3,它将创建3个按钮,标题为"Game 1"到"Game 3",但是当按下任何按钮时,打印值总是2,即最后一次迭代.因此看起来按钮是作为单独的实体制作的,但命令参数中的i值似乎完全相同.这是代码:

def createGameURLs(self):
    self.button = []
    for i in range(3):
        self.button.append(Button(self, text='Game '+str(i+1),command=lambda:self.open_this(i)))
        self.button[i].grid(column=4, row=i+1, sticky=W)
def open_this(self, myNum):
    print(myNum)
Run Code Online (Sandbox Code Playgroud)

有没有办法在每次迭代时获得当前的i值以坚持使用该特定按钮?

python tkinter button

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

Tkinter Menu命令以参数为目标函数?

我想知道,我如何制作一个Tkinter(在Python中)菜单,该菜单以参数为目标,例如foo("what")

def foo(arg):
    print "Foo, %s." % arg

popup = Menu()
popup.add_command(label="Spam!", command=foo("spam")) # Doesn't work.
popup.add_command(label="Turkey!", command=foo("turkey")) # Doesn't work.
popup.post(50, 50)
Run Code Online (Sandbox Code Playgroud)

python command tk-toolkit tkinter

3
推荐指数
2
解决办法
3375
查看次数

单击时如何获取按钮ID?

我不知道如何引用在 tkinter 中单击的按钮。

我的代码:

for file in files: 
     btn = Button(root, text=file).pack()
Run Code Online (Sandbox Code Playgroud)

现在例如 50 个按钮是从作为源的文件生成的。
但是,当我单击任何按钮时,只会引用最后一个按钮,而不是我真正想要使用/单击的按钮。

在 JavaScript 中,我们使用this引用我们真正点击的对象,但是我在 Python 中找不到任何解决方案。

python tkinter button

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