使用Tkinter在窗口输出文本异常:窗口弹出但无内容显示
解决Tkinter ttk.Label文本不显示问题
你的代码中ttk.Label的文本无法显示,核心原因是ttk组件的font参数不支持直接传入字符串格式的字体设置——普通tk.Label可以用'Calibri 24'这种写法,但ttk组件是基于主题的组件,对字体参数的要求更严格,必须传入元组或tkinter.font.Font对象。
修复后的代码(两种可选方式)
方式1:使用字体元组
这是最简单的修改方式,直接将字体名和字号组成元组传入:
import tkinter as tk from tkinter import ttk window = tk.Tk() window.title('Test') window.geometry('300x150') # 修改font参数为元组格式 title_label = ttk.Label(master=window, text='Test Test Test', font=('Calibri', 24)) title_label.pack() window.mainloop()
方式2:使用Font对象(支持复杂字体样式)
如果需要设置加粗、斜体等额外样式,推荐用tkinter.font模块创建字体对象:
import tkinter as tk from tkinter import ttk from tkinter import font window = tk.Tk() window.title('Test') window.geometry('300x150') # 创建自定义字体对象,可添加weight(加粗)、slant(斜体)等参数 custom_font = font.Font(family='Calibri', size=24, weight='bold') title_label = ttk.Label(master=window, text='Test Test Test', font=custom_font) title_label.pack() window.mainloop()
额外提示
如果修改后仍不显示文本,检查你的系统是否安装了Calibri字体——可以换成系统自带字体(如Arial、SimSun)测试,排除字体缺失的问题。
内容的提问来源于stack exchange,提问作者cartercbennett
相关产品推荐
相关产品推荐

