ALRebo 2022-12-19 11:57 采纳率: 60%
浏览 42
已结题

Python 函数变量错误

想在tkinter子窗口中对改子窗口中的变量进行操作,结果是cannot access free variable 'Label1' where it is not associated with a value in enclosing scope

img

img

  • 写回答

2条回答 默认 最新

  • 请叫我问哥 新星创作者: python技术领域 2022-12-19 13:11
    关注

    Label1标签是在函数wicket_change()里创建的,所以在look里不能直接调用,解决方法有二:
    1)把Label1定义为全局变量:global Label1
    2)把Label2作为参数传入look函数:chaxun = Button(command = lambda :look(Label1))
    但是除此之外,你这代码还存在两个基本问题:
    1)command里的look不能加小括号
    2)Label1定义了标签后,直接使用了place(),导致Label1为None,不能使用。要把place()分开来。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月21日
  • 已采纳回答 12月21日
  • 创建了问题 12月19日