python - 无法在 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
我不知道我做错了什么。我敢肯定它很简单。而且我在网上搜索过,但找不到解决方案。我对编码知之甚少。
解决方案
黄色三角形是警告,而不是错误。Spyder IDE 正在检查是否已定义每个可调用对象。在这种情况下,它会看到您正在调用Tk()
、Label(...)
和Button(...)
,但它们尚未在脚本中的任何位置定义或显式导入。
Spyder 对包含在 中的函数、类或模块一无所知tkinter
,因此当您使用该行
from tkinter import *
它不知道 中包含什么*
,并且它会为此发出警告。
无论如何*
,对全局进行导入并不是一个好习惯,您不知道名称空间中有什么。相反,显式导入您正在使用的内容。如果您使用该行:
from tkinter import Tk, Label, Button
所有警告都会消失。
推荐阅读
- java - JNI 错误 - 使用 CallVoidMethod 时无法调用 [method]
- c# - 如何从 Blazor 页面访问 env.IsDevelopment()?
- ruby-on-rails - 尝试在heroku上部署rails应用程序时出错
- d - 如何在 Visual Studio 中运行 D 代码程序?Ubuntu 18.04
- php - Laravel 6 中打包 tymondesigns/jwt-auth 安装问题
- python-3.x - Python中是否有一个函数用于计算从带有中断的“for”循环创建的输出数量?
- typescript - 如何根据另一个参数确定一个参数是否必要?
- docker - docker 和 kubectl 命令打印的表格格式是否已有规范?
- angularjs - AngularJS:如何在指令中获取控制器以访问视图中的值?
- windows - 连接拒绝通过 ssh 访问本地服务 minikube