3

我正在尝试制作一个程序来处理在 Tkinter 的画布对象上呈现的符号方程。程序需要能够绘制方程,然后当用户点击方程时,我需要知道他们点击了哪个符号。

我考虑了几种方法:

我可以手动编写一个数学渲染程序,告诉 Canvas 对象放什么符号,然后它们只是文本对象,我可以通过正常方式检测到其点击事件。但是,这似乎是很多多余的工作,我无法让它变得非常漂亮。

我可以使用库将方程渲染为图像,然后编写自己的代码来大致确定不同符号的位置,然后检测点击并通过点击位置确定用户点击的符号。这是hacky,听起来不可靠。另外,这意味着我需要编写代码来检测符号的位置。

还有其他想法吗?

4

1 回答 1

-1

从字符串中获取方程可能是最好的主意。

这可能不是最好的方法,但它仍然是一个有效的选项,您可以按原样获取字符串,然后将 x 值替换为 x 使用eval()函数的值。

equation = "2^x"

for x in range(length of graph):
    x2 = x-1 #to draw a line from this point to the previous one. 
    canvas.create_line(x, eval(equation), x2, eval(equation.replace('x', "x2"))
于 2013-07-21T03:17:41.187 回答