web-dev-qa-db-ja.com

Python3Tkinterフォントが機能しない

Tkinterでpython 3.3を使用していて、パッケージpython3-tkがインストールされています。ほとんどのドキュメントで古い「importtkFont」が使用されていますが、これは機能していません。

これは機能するはずです:

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

ただし、2行目にこの例外があります。

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 そして http://www.tkdocs.com/tutorial/fonts .html これまでで最も有用なtkinterドキュメントでした。

残念ながら、私はまだ自分が間違っていることを理解することができません。

5
percidae

fontではなくfontsをインポートする必要があります。また、投稿したコードが実際のコードである場合は、フォントを操作する前にルートウィンドウを作成することを怠っています。最初にルートウィンドウを作成する必要があります。

from tkinter import font
import tkinter as tk
...
root = tk.Tk()
...
appHighlightFont = font.Font(family='Helvetica', size=12, weight='bold')
font.families()
13
Bryan Oakley
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)
1
daBoss