Python新手,刚起步,所以要温和。这是根据一些评论进行编辑以进行清理的。我还没能通过将其缩小到帖子中来获得一个有效的版本,但我认为它很容易理解问题。
我有两种功能。func1由用户活动设置。func2有两个参数,一个是func1的输出,另一个来自字典。
如何在tkinter按钮命令部分中通过任何方式(打印、返回等(访问组合两个函数的变量和字典?
import tkinter as tk
# Just for this example, storing variables. Actual gathers file paths from user action
num1 = 2
num2 = 3
dict1 = [1, 2, 3]
#Global
sample1 = None
def func1_click(): # This updates sample1 value from user interaction
global sample1
sample1 = 1 * 2
return sample1
def func2 (num1, num2): # This is called last
sample2 = num1 * num2
return sample2
button1 = tk.Button(command=func1_click)
button1.pack()
button2 = tk.Button(command=lambda: print(var2))
button2.pack()
var2 = func2(sample1, dict1) # So get this, to ^^^
# Call var2 from button2, run funct2 with output from sample1, and dict1
root = tk.Tk()
root.mainloop()
我知道这不是最有效或最干净的方法,但我能够通过创建一个由各种结果组成的组合列表来实现这一点。
然后,我创建了一个带有全局变量的新函数,该变量用于tkinter按钮命令=部分
def print_var3():
global output1
output = output1
print(output1)
button = tk.Button(root, command=print(output1))
button.pack()
root = tk.Tk()
root.mainloop()
现在我不只是想打印,我只需要确认Python正在返回我想要在另一个函数中正确使用的结果。
也许有人仍然可以提供一些额外的或更清洁的方法。