Python的新手入门,所以要谨慎。根据一些注释进行了编辑以进行清理。我无法通过缩小此范围来发布工作版本,但我认为它很容易解决问题。
我有2个功能。 func1由用户活动设置。 Func 2有两个参数,一个是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()
答案 0 :(得分:0)
我知道这不是最有效或最干净的方法,但是我能够通过创建一个由各种结果组成的组合列表来实现此目的。
然后我用tkinter button command =部分中使用的全局变量创建了一个新函数
def print_var3():
global output1
output = output1
print(output1)
button = tk.Button(root, command=print(output1))
button.pack()
root = tk.Tk()
root.mainloop()
现在,我不仅要打印,还需要确认Python返回了我想正确用于其他函数的结果。
也许有人仍然可以为此提供一些其他或更清洁的方法。