如何从tkinter中的条目中获取可用作函数的数据?
问题描述
我正在制作一个用于数学函数数据拟合的Python脚本,比如a*sin(b*x)
与给定的数据。我计划在程序已经运行时,由用户在外部输入此数学函数。我通过tkinter中的条目或文本框输入这个数学函数。这完全没有问题,但是当我使用.get()
函数提取数据时,它以字符串格式返回输入的数学函数。但这对未来的拟合过程没有用处。根据我的理解,我应该有一个定义的函数形式,如
def F(x,a,b):
return a*sin(b*x)
但如果从.get()
条目显示中获取此返回值,则它将是a*sin(b*x)
无法进一步使用的简单字符串。
如果任何人有任何建议,请帮助我解决此问题。先谢谢你。☺️
解决方案
您可以使用EXEC关键字将字符串作为Python代码运行(认为这不太安全,所以要小心)
import tkinter as tk
...
Entry = tk.Entry(root)
...
def Get_Equation():
Text = Entry.get
result = eval(Text)
这将在全局范围内运行代码,因此,如果用户输入a*sin(b*x),则只需要在程序中定义的变量,例如
import tkinter as tk
...
Entry = tk.Entry(root)
...
def Get_Equation():
Text = Entry.get
a = 5
b = 3
x = 10
result = eval(Text)
相关文章