不能在Spyder 3.2.4中使用Tkinter

时间:2018-04-27 01:27:11

标签: python spyder

我正在尝试做一个非常基本的家庭作业,但是不能超越第一步。我尝试使用“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行:'来自tkinter import *'使用;无法检测未定义的名称 第3-5行:(空白)可能未定义,或从星号输入定义:tkinter

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

2 个答案:

答案 0 :(得分:2)

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

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

from tkinter import *

它不知道*中包含了什么,它会给你一个警告。

对全局进行*导入无论如何都不是很好的做法,你不知道命名空间中的内容。相反,明确导入您正在使用的内容。如果您使用以下行:

from tkinter import Tk, Label, Button

所有的警告都会消失。

答案 1 :(得分:0)

我可以那样做:

from tkinter import Tk
raiz = Tk()
raiz.mainloop()

我正在使用Python 3.7.1