我是编程中的新手,我创建了以下源代码来验证用户是否成功登录。 我想在用户输入条目中的正确凭据后,将用户重定向到新窗口并摆脱当前窗口。 是否可以使用顶级方法?

def Is_Valid():

    UsernameValidity=UserName_Entry.get()        
    PasswordValidity=Password_Entry.get()
    cursor.execute('''SELECT password FROM users WHERE username = ?''', (UsernameValidity,))
    cursor.execute('''SELECT username FROM users WHERE password = ?''', (PasswordValidity,))
    LogInAttempt = cursor.fetchone()?
    print (Is_Valid) # Testing 
    if LogInAttempt:
        print (" One of the accounts have successfully logged in ")
        IsValidText.config(text=" You have logged in! ", fg="black", highlightthickness=1)
    else:?
        print (" One of the accounts inputted the wrong credentials! ")
        IsValidText.config(text=" Invalid username or Password! ", fg="black", highlightthickness=1)

===============>>#1 票数:0 已采纳

假设您的程序在这一点上完美运行,欢迎您使用Toplevel方法。 我还将包含.after()以给予时间让用户看到消息。

def NewPage():
    global NewRoot
    root.withdraw() # hide (close) the root/Tk window
    NewRoot = tk.Toplevel(root)
    # use the NewRoot as the root now

def Is_Valid():
    # same as before...
    if LogInAttempt:
        print (" One of the accounts have successfully logged in ")
        IsValidText.config(text=" You have logged in! ", fg="black", highlightthickness=1)
        root.after(2000, NewPage) # or whatever your Tk is called
        # redirect to the NewPage function after 2 seconds 
    else:
        print (" One of the accounts inputted the wrong credentials! ")
        IsValidText.config(text=" Invalid username or Password! ", fg="black", highlightthickness=1)

这将关闭原始窗口并弹出一个新的空白窗口。 注意: .after(ms, callback)使用ms,所以2000ms = 2sec

你可能想要在cursor.fetchone()else之后摆脱两个随机问号。

  ask by sago translate from so

未解决问题?本站智能推荐:

1回复

Python3,Tkinter,SQLite3-登录编码错误

尝试验证凭据时出现问题(我将在下面发布代码)。 我想知道是否正在发生,因为我在数据库中将用户名和密码存储为字符串,是否应该将其存储为整数? 问题:我认为简单地举例说明问题是更容易的,也许更容易理解。 正确的信息(用户名=密码,密码=测试) 示例1:您输入“ something
1回复

因此,基本上我需要将用户输入的数据放入Tkinter输入框中,并将其存储到我的sqlite3数据库中。 我正在使用Python 3.6

“ DataEntry():”中的所有条目将作为新记录进入帐户表。 我不知道如何使用sqlite3将Tkinter登录框中的条目作为值传递给SQL'INSERT INTO'语句,它确实可以在仅将控制台用作输入值的方法之前工作,但这使具有供用户使用的GUI。
1回复

Python sqlite3,tkinter显示多行

我是python的新手,最近我使用带tkinter的Python和Sqlite3制作字典。 当我运行代码时,它在IDLE中返回多行,但在GUI中它仅显示最后一个结果。 我想在GUI中显示所有信息。 感谢您的帮助和建议。
1回复

sqlite3和tkinter中的用户名和密码变量出现问题

我需要程序从Tkinter窗口的输入字段中获取输入,并通过数据库运行它们以登录用户,但是,它说我的参数0(用户名)存在绑定问题,我认为我的密码变量也将发生。 def loginfunc(): while True: with sqlite3.connec
2回复

将sqlite3与Tkinter链接

作为我正在制作的库存系统的一部分,我希望Tkinter通过用户输入输入框并单击“添加库存”按钮来收集希望插入数据库的数据值。 我的问题是,我不确定如何将sqlite3与Tkinter代码结合使用。 以下是我的“添加库存”窗口的Tkinter代码 以下是我希望与Tkinter代
1回复

如何使用tkinter Python创建搜索表单以从SQLITE3数据库进行搜索?

我想使用Tkinter创建一个搜索表单,用户可以在其中输入他们想要从SQLite3数据库中看到的名称。 名为New_Assignment的数据库包含有关人员的所有详细信息。 但是我对如何将Tkinter连接到数据库并使用名称进行搜索感到困惑? 到目前为止,这就是我所得到的。
1回复

将用户输入从Tkinter小部件传输到SQLite数据库

我是一个尝试使用Tkinter和SQLite的新Python用户(v3.5)。 我在将用户输入从小部件(组合框和旋转框)输入到变量,然后将这些变量输入到SQLite数据库时遇到问题。 我已经尝试过自己诊断问题,并且我相信问题在于将数据从小部件获取到变量中。 我已经修改了代码,并在网上搜索解
1回复

将tkinter输出保存到sqlite3数据库

我对编程还很陌生,我正在尝试将tkinter输入框的输入保存到sqlite数据库中的字段中。 但是,无论如何,我总是将其保存为PY_VAR(number)的变体,或仅打印为{}。 这是代码的相关部分(SQL查询在数据库上下文中均有效)。 我将如何纠正此问题,以便将输入条目保存到SQL数据库
1回复

Tkinter输入未插入数据库(sqlite3)

当我在tkinter上单击Add时,它不会在数据库中添加任何内容,我不知道sqlite3很多。 我的数据库文件: Python档案: 当单击tkinter上的添加按钮时,它给了我空白的输出,这意味着它没有在数据库中插入任何内容
1回复

python sqlite3 tkinter-如何为sqlite表中的每一行自动创建新的小部件?

我正在使用tkinter和sqlite3的项目。 在tk.Toplevel窗口中,我有一个框架。 在该框架内将是一个sqlite表中的列表行(取决于表中有多少行)。 对于框架中的每一行,都需要一个tk.Checkbutton,表中的一个值和两个tk.Entry。 这是一张(不好的