Tkinter命令Lambda函数修改变量

里斯

我的应用程序是一种从数据库填充其字段的表单。我正在编写在这些记录之间导航的函数。我在编写“下一条记录”功能时遇到问题。

在任何给定时间,屏幕上显示的“当前记录”都在变量中current_record

def next_record(current_record):
    current_index = current_record.index
    current_record = Competitor(competitors[current_index + 1], current_index + 1)
    print(current_record.index)
    populate_form(current_record)

和我的按钮调用此功能:

action_button_6 = tkinter.Button(group_buttons, text='>>', width=5,
                                 command=lambda: next_record(current_record))

尽管该函数完成了工作并将新记录加载到表单中,但并未如函数第三行所示将“ current_record”重新分配给新竞争者。

如何在此函数中修改变量?

ppppery

除非您明确声明要在全局函数中修改的变量,否则即使存在具有相同名称的全局变量,它也默认为局部变量,因此current_record是局部变量。将其添加global current_recordnext_record函数的开头并将函数参数重命名为即可old_record解决该问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使函数修改变量C#

来自分类Dev

Bash:如何在命令上调用或修改变量的内容?

来自分类Dev

Bash修改变量

来自分类Dev

javascript修改变量

来自分类Dev

在JavaScript中同时调用函数和修改变量

来自分类Dev

bash函数-在变量内部获取函数stdout值,并在函数外部修改变量

来自分类Dev

在Python中修改变量

来自分类Dev

Lambda变量分配(用于Tkinter命令回调)

来自分类Dev

gdb“ watch”不能通过glibc(read)函数修改变量吗?

来自分类Dev

为什么作为参数传递的引用可用于通过函数修改变量?

来自分类Dev

是否可以在Postman中修改变量

来自分类Dev

在if语句CSH中未修改变量

来自分类Dev

无法从单独的线程修改变量

来自分类Dev

在Java的较高层中修改变量

来自分类Dev

使用子/功能修改变量

来自分类Dev

在if语句CSH中未修改变量

来自分类Dev

无法从单独的线程修改变量

来自分类Dev

无法在onClick方法中修改变量

来自分类Dev

使用子/功能修改变量

来自分类Dev

Javascript替换/修改变量指向的对象?

来自分类Dev

修改函数内的变量

来自分类Dev

在函数中更改变量

来自分类Dev

在定义内部带有变量的lambda函数时,如何在更改变量时防止函数更改?

来自分类Dev

使用按钮(Tkinter)更改变量的值

来自分类Dev

使用 Tkinter 按钮更改变量

来自分类Dev

Tkinter,变量和函数

来自分类Dev

从函数修改全局变量

来自分类Dev

Python Tkinter Lambda 多变量

来自分类Dev

如何从嵌套函数更改变量?