我在 TKinter 中有一些标签,带有标签文本,例如 Jx。然而,这应该是 $J_x$ 并根据标准 LaTeX 排版呈现。例如,考虑这个 MWE:
from tkinter import *
from tkinter import ttk
import tkinter.font as font
from tkinter import Tk
from turtle import bgcolor
import tkinter as tk
class UI:
def __init__(self, master):
self.master = master
helv15 = font.Font(family="Helvetica",size=15,weight="bold")
self.JxEntryLabel = Label(self.master, text = "Jx :", bg = 'white', fg = fontcolor, font = helv15)
self.JxEntryLabel.place(relheight = 0.05, relwidth = 0.1, relx = 0.15, rely = 0.15)
root=Tk()
app=UI(root)
root.title('Test_UI')
root.geometry("1200x600")
root.configure(background='white')
root.mainloop()
如何编辑/添加到此 MWE 以确保使用 LaTeX 进行
Label
按钮文本排版,使得 x 是 J 的下标并且采用数学字体?即输入 $J_x$ 只会显示 $J_x$。对于Matplotlib
,这通常很容易实现绘图,但我不确定如何在这里使用相同的技巧。
注意:这个问题与this帖子不同,后者的目标是获取乳胶输入并实时显示它,尽管我相信答案的部分内容可以重复使用来回答这个问题。但是,我不确定如何。如有任何帮助,我们将不胜感激。
您必须使用 Matplotlib 进行排版。我的理解是你可以这样做:
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
fig = plt.figure()
ax = fig.add_subplot(111)
ax.text(0, 0, r"whatever latex text")
canvas = FigureCanvasTkAgg(fig, master = tkinter_window)
canvas.draw()
canvas.get_tk_widget().pack()
这将创建一个仅包含 LaTeX 文本的 Matplotlib 图形,并将其添加到
tkinter_window
。