การแสดงสูตรคณิตศาสตร์ LaTeX ใน Tkinter ต้องใช้ Matplotlib พร้อม backend TkAgg วาดสูตรบน Figure แล้วแสดงใน Canvas
ขั้นตอนหลัก
- Import: matplotlib, tkinter, ttk, TkAgg backend
- สร้าง Frame, Entry widget สำหรับรับ LaTeX syntax
- สร้าง Figure และ Canvas ผ่าน
FigureCanvasTkAgg - เขียนฟังก์ชันอ่านค่า Entry แปลงเป็น LaTeX ด้วย
ax.text() - Bind event
<Return>ให้อัปเดตการแสดงผล
ตัวอย่างโค้ด
from tkinter import *
from tkinter import ttk
import matplotlib
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
matplotlib.use('TkAgg')
win = Tk()
win.geometry("700x350")
win.title("LaTeX Viewer")
def graph(event):
tmptext = entry.get()
tmptext = "$" + tmptext + "$"
wx.clear()
wx.text(0.2, 0.6, tmptext, fontsize=20)
canvas.draw()
frame = Frame(win)
frame.pack()
var = StringVar()
entry = Entry(frame, width=70, textvariable=var)
entry.pack()
label = Label(frame)
label.pack()
fig = matplotlib.figure.Figure(figsize=(7, 4), dpi=100)
wx = fig.add_subplot(111)
canvas = FigureCanvasTkAgg(fig, master=label)
canvas.get_tk_widget().pack(side=TOP, fill=BOTH, expand=1)
wx.get_xaxis().set_visible(False)
wx.get_yaxis().set_visible(False)
win.bind('', graph)
win.mainloop()
ผลลัพธ์
พิมพ์ LaTeX syntax ในช่อง Entry แล้วกด Enter จะแสดงสูตรทันที
