Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我有一个python中的tkinter输入框,但我可以';你不能把它输入我的代码吗?_Python_Tkinter_Tkinter Entry - Fatal编程技术网

我有一个python中的tkinter输入框,但我可以';你不能把它输入我的代码吗?

我有一个python中的tkinter输入框,但我可以';你不能把它输入我的代码吗?,python,tkinter,tkinter-entry,Python,Tkinter,Tkinter Entry,下面是我的代码: from tkinter import * login = Tk() username_1 = Entry() username_1.pack(side=TOP) input_username = login.username_1.get("1.0", END) username = input_username loginInfo = {"user1": "blue", "user2": "yellow", "user3": "green"} if username in

下面是我的代码:

from tkinter import *
login = Tk()

username_1 = Entry()
username_1.pack(side=TOP)
input_username = login.username_1.get("1.0", END)
username = input_username
loginInfo = {"user1": "blue", "user2": "yellow", "user3": "green"}
if username in loginInfo:
    print('Username correct!')

login.mainloop()
这是我的错误:

'AttributeError: '_tkinter.tkapp' object has no attribute 'username_1'':

你能提供你的代码应该做什么的信息吗

如果您只是想避免此错误,请为此更改第6行:

input_username = username_1.get()

创建小部件时,您正在创建根窗口的子窗口。但是,这些子项不是根窗口的属性。因此,
login.username_1
是无效的,正如错误告诉您的那样

在这种特定情况下,小部件只是
username\u 1
(例如:
input\u username=username\u 1.get(“1.0”,END)
)。但是,由于以下原因,即使这样也不起作用:

  • 条目的
    get
    方法不接受参数。您需要执行
    username\u 1.get()
  • 在创建条目大约一毫秒后,在用户有机会输入任何内容之前,您正在调用
    get

使用GUI工具包,您无法想象程序从上到下线性运行。相反,您将事情设置为最初出现,然后需要编写响应按键和按钮单击等事件的函数。例如,您可能希望创建一个标签为“Login”的按钮,该按钮调用一个函数来检查有效凭据。您将在该函数中调用
get()
方法

顺便说一下,语法
.get(“1.0”,END)
用于
文本
小部件。创建条目时,必须在参数中为其指定登录名,如:
username\u 1=Entry(login)