1

此代码生成错误:

import tkinter
from tkinter.font import Font, nametofont

default_font = Font.nametofont("TkDefaultFont")

错误是:

Traceback (most recent call last):
  File "C:\__P\nametofont.pyw", line 4, in <module>
    default_font = Font.nametofont("TkDefaultFont")
AttributeError: type object 'Font' has no attribute 'nametofont'
>>>

如何访问“nametofont”?

4

2 回答 2

2

好的,我知道我需要什么了。这是修改后的工作代码,并添加了打印语句:

from tkinter import Tk
from tkinter.font import Font, nametofont

root = Tk()
default_font = nametofont("TkDefaultFont")
print(default_font)

Font.nametofont(...)需要 just ,然后nametofont(...)需要TK()获取要查看的窗口上下文。

于 2013-11-08T20:51:53.747 回答
0

模块tkinter.font

# Tkinter font wrapper
#
# written by Fredrik Lundh, February 1998
#

__version__ = "0.9"

import itertools
import tkinter


# weight/slant
NORMAL = "normal"
ROMAN = "roman"
BOLD   = "bold"
ITALIC = "italic"


def nametofont(name):
    """Given the name of a tk named font, returns a Font representation.
    """
    return Font(name=name, exists=True)

可能是您需要编写font.nametofont而不是Font.nametofont. 该类可能没有此属性。

于 2013-11-08T20:20:20.230 回答