首页 > 解决方案 > 无法在 Spyder 3.2.4 中使用 Tkinter

问题描述

我正在尝试做一个非常基本的家庭作业,但无法通过第一步。我尝试使用“import tkinter”或“from tkinter import *”来导入 Tkinter,但两者都不起作用。它说“标签”和“按钮”等是未定义的。我确信它很容易解决,但我不知道我做错了什么,因为我从教科书中复制了简单的代码只是为了测试它,但它仍然无法正常工作。这是我的代码。

from tkinter import *

window = Tk()
label = Label(window, text = "This is a label.")
button = Button(window, text = "Press")
label.pack()
button.pack()

window.mainloop()

但我在第 1、3、4 和 5 行得到黄色警告标志。第 1 行:'from tkinter import *' used; 无法检测未定义的名称第 3-5 行:(空白)可能未定义,或从星形输入定义:tkinter

我不知道我做错了什么。我敢肯定它很简单。而且我在网上搜索过,但找不到解决方案。我对编码知之甚少。

标签: pythontkinterspyder

解决方案


黄色三角形是警告,而不是错误。Spyder IDE 正在检查是否已定义每个可调用对象。在这种情况下,它会看到您正在调用Tk()Label(...)Button(...),但它们尚未在脚本中的任何位置定义或显式导入。

Spyder 对包含在 中的函数、类或模块一无所知tkinter,因此当您使用该行

from tkinter import *

它不知道 中包含什么*,并且它会为此发出警告。

无论如何*,对全局进行导入并不是一个好习惯,您不知道名称空间中有什么。相反,显式导入您正在使用的内容。如果您使用该行:

from tkinter import Tk, Label, Button

所有警告都会消失。


推荐阅读