Python-Tkinter-基本登录表单

Posted

技术标签:

【中文标题】Python-Tkinter-基本登录表单【英文标题】:Python-Tkinter-Basic login form 【发布时间】:2016-04-28 05:28:25 【问题描述】:

我正在尝试制作一个基本的登录表单。我在将值传递给检查用户名和密码的函数时遇到问题。

这是我的代码:

from tkinter import *

class Application(Frame):
    def __init__(self,master):
        super(Application, self).__init__(master)#Set __init__ to the master class
        self.grid()
        self.create_main()#Creates function

    def create_main(self):
        print("testing")
        self.title = Label(self, text=" Stuck In The Circle ")#TITLE 
        self.title.grid(row=0, column=2)

        self.user_entry_label = Label(self, text="Username: ")#USERNAME LABEL
        self.user_entry_label.grid(row=1, column=1)

        self.user_entry = Entry(self)                        #USERNAME ENTRY BOX
        self.user_entry.grid(row=1, column=2)

        self.pass_entry_label = Label(self, text="Password: ")#PASSWORD LABEL
        self.pass_entry_label.grid(row=2, column=1)

        self.pass_entry = Entry(self)                        #PASSWORD ENTRY BOX
        self.pass_entry.grid(row=2, column=2)

        self.sign_in_butt = Button(self, text="Sign In",command = self.logging_in)#SIGN IN BUTTON
        self.sign_in_butt.grid(row=5, column=2)

    def logging_in(self):
        print("hi")
        user_get = user_entry.get()#Retrieve Username
        pass_get = pass_entry.get()#Retrieve Password

        if user_get == 'sam':
            if pass_get == '123':
                print("Welcome!")






#Main
root = Tk()
root.title("Stuck in the Circle")
root.geometry("400x100")

app = Application(root)#The frame is inside the widgit
root.mainloop()#Keeps the window open/running

这是我的错误:

Tkinter 回调 Traceback 中的异常(最近一次调用最后一次):文件“C:\Users\Sam\AppData\Local\Programs\Python\Python35-32\lib\tkinter_init_.py”,第 1549 行,调用返回 self .func(*args) 文件“C:/Users/Sam/Desktop/Computer Science/Python/Python-Modules/Tkinter/Tkinter Projects/Login Form GUI.py”,第 31 行,在 logging_in user_get = user_entry.get() #Retrieve Username NameError: name 'user_entry' is not defined

【问题讨论】:

Tkinter 回调 Traceback 中的异常(最近一次调用最后一次):文件“C:\Users\Sam\AppData\Local\Programs\Python\Python35-32\lib\tkinter_init_ i>.py”,第 1549 行,在 call 中返回 self.func(*args) 文件“C:/Users/Sam/Desktop/Computer Science/Python/Python-Modules/Tkinter/Tkinter Projects /Login Form GUI.py", line 31, in logging_in user_get = user_entry.get()#Retrieve Username NameError: name 'user_entry' is not defined How can I integrate TKinter with Python log in screen?的可能重复 【参考方案1】:
def logging_in(self):
    print("hi")
    user_get = self.user_entry.get()#Retrieve Username
    pass_get = self.pass_entry.get()#Retrieve Password

使用self.user_entry.get()

调用类变量时,需要通过self.variable_name调用

【讨论】:

非常感谢你!我已经为此工作了几个小时,我觉得自己很愚蠢!代码都像我想要的那样工作。非常感谢您的帮助 :D 祝您有美好的一天! 没问题 :) 有机会请选择最佳答案!

以上是关于Python-Tkinter-基本登录表单的主要内容,如果未能解决你的问题,请参考以下文章

python-tkinter学习

python-tkinter学习

python-tkinter学习实例

python-Tkinter简明教程

Python-Tkinter-屏保

python-tkinter学习