【发布时间】:2021-10-08 14:21:44
【问题描述】:
希望你们一切都好。
我正在尝试编写一个代码,通过在 GUI 中使用滑块输入变量值。我可以让滑块工作并生成所需的值,但我无法将生成的值分配给变量。我确信这是一个简单的错误,我不明白这可能与规模产生的价值类型有关,但我无法修复它。
这是我尝试做的代码。
import math
import sympy
import scipy
from sympy import *
from scipy import optimize
from tkinter import *
def Compute():
return scaleThetaB.get()
window = Tk()
window.title("Variable Selection")
window.geometry('400x300')
window['bg'] = '#D99D08'
scaleThetaB = Scale(window,from_=0, to=150,length=1000,orient=HORIZONTAL,font=('Arial,20'),tickinterval=10,showvalue=1,resolution=0.1,troughcolor='#990101')
scaleThetaB.pack()
button=Button(window,text='Compute',command=Compute)
button.pack()
window.mainloop()
ThetaB=Compute()
print(ThetaB)
这是图形用户界面的图片: GUI
在这种特定情况下,我希望将滑块 (79.1) 的值分配给我的变量 ThetaB。
这是错误消息: Error Message
感谢您的尝试和帮助!
【问题讨论】:
-
请以文本形式发布错误消息,导入时不要使用
*,还要删除.mainloop之后的代码,在这种情况下,这是导致错误的原因,因为规模不再存在 -
哦,使用
return没有意义,如果命令被按钮调用,则无法访问该变量,您可能需要使用全局变量并更改其值 -
好的,感谢您的反馈。我尝试使用 return 的全部目的是将小部件的值存储在我的代码中需要的变量中,因为它用于方程式。我该怎么做?为什么导入时使用 * 不好?
-
您是否尝试过使用
tkinter.IntVar,并将其分配给比例尺中的variable参数?
标签: python user-interface variables tkinter