【问题标题】:What is the default font of tkinter label?tkinter 标签的默认字体是什么?
【发布时间】:2021-09-23 06:13:21
【问题描述】:

tkinterLabel的默认字体是什么?如果我想更改标签字体大小,tkinter 也会强制我定义字体类型(作为元组,例如 ('Arial', 20)),但我确实想要更改字体正在使用。是宋体吗?是快递吗?

【问题讨论】:

  • 不是('Courier', 20) 导致带有衬线的完全不同的字体。在 Windows 10 机器上试用。
  • 对不起,我的错,它的TkDefaultFont
  • 答案可能因操作系统而异。
  • 是的@martineau,我在Windows 10上,我得到的字体是Segoe UI
  • 所以答案是——至少部分地——它只能在运行时动态确定。

标签: python tkinter fonts label


【解决方案1】:

来,试试这个程序。我得到的默认是Segoe UI

from tkinter import *
from tkinter import font
root=Tk()
l1=Label(root,text="Hello")
l1.pack()
Button(root,text='get label font',command=lambda: print(font.nametofont(l1['font']).configure()["family"])).pack()
root.mainloop()

【讨论】:

  • lambda 中使用列表来调用多个函数是一种不好的做法。
【解决方案2】:

它将被设置为TkDefaultFont 值。您可以通过启动 Tk() 实例然后检查默认字体来检查此值。

import tkinter
from tkinter import font

root = tkinter.Tk()  # Start Tk instance
your_font = font.nametofont("TkDefaultFont")  # Get default font value into Font object
your_font.actual()

【讨论】:

  • FWIW,nametofont()actual() 方法在 tkinter.font documentation 中被提及。
猜你喜欢
  • 1970-01-01
  • 2016-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-09
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多