tkinter中带有.get()的问题,python 3.7

问题描述 投票:-1回答:1

我的代码有问题,当我在Tkinter输入框中输入内容时,.get()返回“”。该代码的目的是获取条目并将其使用sqlite3存储在数据库中。我不能将我的代码放在互联网上,因为这是一项抄袭软件将分配的作业,但是我将放置无效代码的图像(https://imgur.com/a/BEhOuZO),如果您通过cyrilthomasalex @给我发电子邮件, gmail.com我将向您发送完整代码。我是堆栈溢出的新手,当您不方便访问代码时,我知道你们讨厌它,但是请帮助我,我已经坚持了2个多小时!

python sql sqlite tkinter tkinter-entry
1个回答
1
投票

您正在寻找的是输入小部件的textvariable选项。这使您可以拥有一个自动更新为当前输入值的变量。

这个简短的示例说明了这个系统,显然您将使用数据库,而不是简单地将结果打印到终端:

import tkinter as tk

class login_win:
    def __init__(self, master):
        self.master = master

        self.username = tk.StringVar()
        signusername = tk.Entry(self.master, borderwidth=0, textvariable=self.username)
        signusername.grid(row=0, column=0)

        self.password = tk.StringVar()
        signpassword = tk.Entry(self.master, borderwidth=0, textvariable=self.password)
        signpassword.grid(row=1, column=0)

        login_butt = tk.Button(self.master, text="Login", command=self.login)
        login_butt.grid(row=2, column=0)

    def login(self):
        print(self.username.get(), self.password.get())


def main():
    root = tk.Tk()
    login_win(root)
    root.mainloop()

if __name__ == '__main__':
    main()

希望这会有所帮助,

如果您想了解有关tkinter及其功能的更多信息,我将强烈建议您查看effbot

詹姆斯

© www.soinside.com 2019 - 2024. All rights reserved.