我的应用程序是一种从数据库填充其字段的表单。我正在编写在这些记录之间导航的函数。我在编写“下一条记录”功能时遇到问题。
在任何给定时间,屏幕上显示的“当前记录”都在变量中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”重新分配给新竞争者。
如何在此函数中修改变量?
除非您明确声明要在全局函数中修改的变量,否则即使存在具有相同名称的全局变量,它也默认为局部变量,因此current_record
是局部变量。将其添加global current_record
到next_record
函数的开头并将函数参数重命名为即可old_record
解决该问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句