首页 > 解决方案 > Tkinter Entry() 函数不起作用?输出只有一个输入框,而不是 3。有什么问题?

问题描述

我正在尝试接受使用tkinter制作的表单中的使用信息,但问题出在第二个和第三个输入函数中,没有空格可以输入任何内容。输入仅在名称字段中。

代码:

import tkinter as tk
from tkinter import *  

#Initialising the window  
top = tk.Tk()  
top.title('This is main')  
top.geometry('1000x500')  
top.minsize(500,250)  

#Accepting name of user  
nameprint=StringVar()  
name=tk.Label(text='Enter Your Name')  
name.pack()  
name_in=tk.Entry(textvariable=nameprint)
name_in.pack()

#Accepting Password
pwd_var=StringVar()
pwd=tk.Label(text='Create Password')
pwd.pack()
pwd_en=tk.Entry(textvariable=pwd_var)
name_in.pack()

#Confirming password
con_pwd_var=StringVar()
cnfm=tk.Label(text='Confirm Password')
cnfm.pack()
pwd_en=tk.Entry(textvariable=con_pwd_var)
name_in.pack()

#Heres the hello function 
def hello():
    abcd=nameprint.get()
    lb3=tk.Label(text=f'Your name is {abcd}')
    lb3.pack()

#The Button
bt1=tk.Button(text='Click me!',command=hello)
bt1.pack()
top.mainloop() 

这是输出:

我的 python 脚本的输出

标签: pythontkinter

解决方案


是的。布莱恩·奥克利说的没错。在这段代码中:

#Accepting Password
pwd_var=StringVar()
pwd=tk.Label(text='Create Password')
pwd.pack()
pwd_en=tk.Entry(textvariable=pwd_var)
name_in.pack()

而不是 pwd_en.pack() 你写了 name_in.pack() 请检查你的代码。


推荐阅读