Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แสดง LaTeX แบบเรียลไทม์ในกล่องข้อความ Tkinter

การแสดงสูตรคณิตศาสตร์ LaTeX ใน Tkinter ต้องใช้ Matplotlib พร้อม backend TkAgg วาดสูตรบน Figure แล้วแสดงใน Canvas

ขั้นตอนหลัก

  1. Import: matplotlib, tkinter, ttk, TkAgg backend
  2. สร้าง Frame, Entry widget สำหรับรับ LaTeX syntax
  3. สร้าง Figure และ Canvas ผ่าน FigureCanvasTkAgg
  4. เขียนฟังก์ชันอ่านค่า Entry แปลงเป็น LaTeX ด้วย ax.text()
  5. 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 จะแสดงสูตรทันที

แสดง LaTeX แบบเรียลไทม์ในกล่องข้อความ Tkinter