我正在尝试做一个非常基本的家庭作业,但是不能超越第一步。我尝试使用“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
我不知道我做错了什么。我很确定它很简单。我在网上搜索但找不到解决方案。我对编码知之甚少。
答案 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