tkinter 应用程序中未定义的标签

Labels not defined in tkinter app

我正在尝试使用 Tkinter 在内部使用文本 "t" 制作一个基本的 window,但是当 运行 代码 shell 吐出 "NameError: name 'Label' is not defined".我是 运行 Python 3.5.2.

我按照教程进行操作,但问题出在 label = Label(root, text="test") 行。

import tkinter

root = tkinter.Tk()
sheight = root.winfo_screenheight()
swidth = root.winfo_screenwidth()
root.minsize(width=swidth, height=sheight)
root.maxsize(width=swidth, height=sheight)

label = Label(root, text="test")
label1.pack()

root = mainloop()

3.5.2的标签功能有什么不同吗?

您从未导入 Label class。尝试 tkinter.Label

检查这些教程的导入语句

也许他们暗示from tkinter import *

import tkinter

root = tkinter.Tk()
sheight = root.winfo_screenheight()
swidth = root.winfo_screenwidth()
root.minsize(width=swidth, height=sheight)
root.maxsize(width=swidth, height=sheight)

label = tkinter.Label(root, text="test")
label1.pack()

root = tkinter.mainloop() # <- prob need to fix this as well.

因为你没有做 from tkinter import * 你需要从 tkinter 模块调用标签。

或者你可以这样做:

from tkinter import *
...
label = Label(root, text="test")

偶然发现了同样的问题。大多数初学者指南似乎在这里搞砸了。 我不得不在配置中使用第二行:

!/usr/bin/python3

导入 tkinter 从 tkinter 导入 *

...

在 Windows 操作系统上,您的代码应该 运行 正常,但在 macOS 上,您会遇到问题。我不知道为什么会发生这样的事情。无论如何尝试:

import tkinter, 
from tkinter import*

和运行

之后写:

from tkinter import *

import tkinter 

(这次不是两个)

打错了... 与导入语句无关。

标签 = 大写 L 而不是 l