Python3 Tkinter 字体不工作
Python3 Tkinter fonts not working
我正在使用 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.html and http://www.tkdocs.com/tutorial/fonts.html 迄今为止最有用的 tkinter 文档。
不幸的是,我仍然无法弄清楚我做错了什么。
您应该导入 font
而不是 fonts
。此外,如果您发布的代码是实际代码,则您忽略了在使用字体之前创建根 window。您必须先创建根 window。
from tkinter import font
import tkinter as tk
...
root = tk.Tk()
...
appHighlightFont = font.Font(family='Helvetica', size=12, weight='bold')
font.families()
from tkinter import *
from time import sleep
window = Tk()
window.geometry("350x400")
window.title("tkinter!")
lbl = Label(window, text="this is a lable", size=12)
lbl.pack()
sleep(1)
lbl.configure(text="now it is a big lable", size=48)
我正在使用 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.html and http://www.tkdocs.com/tutorial/fonts.html 迄今为止最有用的 tkinter 文档。
不幸的是,我仍然无法弄清楚我做错了什么。
您应该导入 font
而不是 fonts
。此外,如果您发布的代码是实际代码,则您忽略了在使用字体之前创建根 window。您必须先创建根 window。
from tkinter import font
import tkinter as tk
...
root = tk.Tk()
...
appHighlightFont = font.Font(family='Helvetica', size=12, weight='bold')
font.families()
from tkinter import *
from time import sleep
window = Tk()
window.geometry("350x400")
window.title("tkinter!")
lbl = Label(window, text="this is a lable", size=12)
lbl.pack()
sleep(1)
lbl.configure(text="now it is a big lable", size=48)