【问题标题】:Update Lambda function arguments on button click单击按钮时更新 Lambda 函数参数
【发布时间】:2020-05-07 11:31:36
【问题描述】:

我已经剪掉了部分代码,因为我怀疑答案是相当新手:)

我正在尝试通过单击按钮(引用验证功能)来验证条目中的输入。但是 path_directory-variable 没有更新(它保持初始值)。

单击按钮时如何更新它?

directory = tk.Entry(entry_frame)

validate_button= tk.Button(paths_frame, text='Next', command=lambda path_directory=directory.get(): self.validate_path(path_directory)) 

def validate_path(self, path_directory):
        if path.exists(path_directory):
            print('# Path validation succuessful: ', path_directory)
        else: 
            print('# Path validation failed: ', path_directory)

【问题讨论】:

    标签: python-3.x tkinter lambda


    【解决方案1】:

    问题是您仅在 lambda init 上获得值。只需使用函数,而不是 lambda,如下所示:

    def validate_click():
        path_directory=directory.get()
        self.validate_path(path_directory)
    validate_button= tk.Button(paths_frame, text='Next', command=validate_click)
    

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2016-06-11
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多