Я пытаюсь отобразить уравнения с помощью графического интерфейса.Я использую латекс и холст.Тем не менее, я получаю сообщение об ошибке ValueError: KeyPress событие keysym = Return keycode = 36 char = '\ r' x = 266 y = 8
это должно работать, потому что у меня естьуже преобразованные выражения Python в латекс.
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import matplotlib
import matplotlib.pyplot as plt
from tkinter import *
from sympy import *
matplotlib.use('TkAgg')
root=Tk()
frame=Frame(root)
frame.pack()
frame1= Frame()
frame1.pack()
caracter=StringVar()
def result(caracter):
a = str(caracter)
text1=latex(a)
ax.clear()
ax.text(0.2, 0.6, "$"+text1+"$", fontsize = 6)
canvas.draw()
def element(num):
caracter.set(caracter.get()+num)
#-----------------------------SCREEN------------
screen=Entry(frame, width=50, textvariable=caracter)
screen.pack()
screen.grid(row=1, column=1, pady=10, columnspan=5)
#-----------------------BUTTONS-----------------------
go=Button(frame, height=1, text="Go")
go.grid(row=1, column=6)
Buttonx=Button(frame, text="x", width=5, padx=0, pady=2, command=lambda:element("x"))
Buttonx.grid(row=2, column=6)
#--------CANVAS ---------------
label = Label(frame1)
label.pack()
fig = matplotlib.figure.Figure(figsize=(5, 4), dpi=100)
ax = fig.add_subplot(111)
canvas = FigureCanvasTkAgg(fig, master=label)
canvas.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
canvas._tkcanvas.pack(side=TOP, fill=BOTH, expand=1)
ax.get_xaxis().set_visible(False)
ax.get_yaxis().set_visible(False)
root.bind('<Return>', result)
root.mainloop()
Это самый короткий код для воспроизведения проблемы.Любая помощь или намек будут оценены.Большое спасибо заранее