Python3 Tkinter 字体不起作用

问题描述 投票:0回答:2

我使用 python 3.3 和 tkinter,并且安装了 python3-tk 包。在大多数文档中,使用旧的“import tkFont”,它不再起作用。

这应该有效:

from tkinter import font
appHighlightFont = font.Font(family='Helvetica', size=12, weight='bold')
font.families()

但是,我在第二行遇到此异常:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.3/tkinter/font.py", line 92, in __init__
    root.tk.call("font", "create", self.name, *font)
AttributeError: 'NoneType' object has no attribute 'tk'

我检查了http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/fonts.htmlhttp://www.tkdocs.com/tutorial/fonts.html这是最到目前为止有用的 tkinter 文档。

不幸的是我仍然不知道我做错了什么。

python python-3.x fonts tkinter python-import
2个回答
18
投票

您应该导入

font
而不是
fonts
。另外,如果您发布的代码是实际代码,则您会忽略在使用字体之前创建根窗口。您必须先创建一个根窗口。

from tkinter import font
import tkinter as tk
...
root = tk.Tk()
...
appHighlightFont = font.Font(family='Helvetica', size=12, weight='bold')
font.families()

0
投票
from tkinter import *
from time import sleep

window = Tk()
window.geometry("350x400")
window.title("tkinter!")

lbl = Label(window, text="this is a label", size=12)
lbl.pack()

sleep(1)

lbl.configure(text="now it is a big label", size=48)
© www.soinside.com 2019 - 2024. All rights reserved.