我想从两个滑块的值设置后,然后使用这些值来创建一个新的变量,这是他们的商。 我发现的代码使用了一个将打印值的函数,但是我需要将值返回到程序的主体,以便我可以创建新变量并且它不工作。 从Tkinter的进口*从tkinter滑块获取值以创建一个变量,这是他们的商
def show_values():
altitude =w2.get()
speed = w1.get
print (w1.get(), w2.get())
return altitude,speed #return variables
master = Tk()
w1 = Scale(master, from_=0, to=42) #slider 1
w1.pack()
w2 = Scale(master, from_=0, to=200, orient=HORIZONTAL) #slider 2
w2.pack()
Button(master, text='Show', command=show_values).pack() #call function
#to get slider
time = altitude/speed
mainloop()
为什么不把'time ='行移动到'show_values'本身?在任何情况下,在用户可能移动任何滑块之前,代码体内的'mainloop'之前出现的任何代码都会在几分之一秒内执行。 (并且在mainloop之后出现的任何代码将永远不会执行,因为mainloop永远循环)。任何取决于用户输入的逻辑都应在回调函数中。 – Kevin 2015-02-09 19:30:49
我认为问题是我不明白mainloop()。我是一位读过Zelle书籍的初学者,所以我更熟悉def main():如何访问函数外的两个变量。我试图从窗口中的滑块获取用户输入,以在main()中执行数学运算。你能提供一个例子吗?在此先感谢 – Cirrus 2015-02-10 00:25:29