我想获取有关Tk菜单中使用的实际字体(尤其是大小)的信息。
我发现菜单的font
属性设置为TkMenuFont
。
但是,如果我尝试检查其内容,似乎除了字符串表示法之外什么都做不到:
print(dir(menu['font']))
输出:
['__class__', '__delattr__', '__dir__', '__doc__', '__eq__',
'__format__', '__ge__', '__getattribute__', '__gt__', '__hash__',
'__init__', '__init_subclass__', '__le__', '__lt__', '__module__',
'__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__',
'string', 'typename']
因此,问题是:如何获取有关Tk字体的信息?
答案 0 :(得分:2)
tkinter.font.Font
类似乎能够将menu['font']
变成具有可检查属性的东西:
import tkinter
from tkinter.font import Font
root = tkinter.Tk()
menu = tkinter.Menu()
font = tkinter.font.Font(font=menu["font"])
print(font.actual())
结果:
{'family': 'Segoe UI', 'size': 9, 'weight': 'normal', 'slant': 'roman', 'underline': 0, 'overstrike': 0}
您可以使用常用的dict索引语法访问单个属性,例如:
font.actual()["size"]