繁体   English   中英

如何在 if 参数中使用 tkinter 中的条目 function ?

[英]how can i use the Entry function in tkinter in an if argument?

所以我在 python 中创建了一个密码管理器,我不知道如何从条目中获取用户输入并在 if 参数中使用它?

text1 = StringVar()
def but():
    text1.get()
    print(text1.get())
    knapp2 = Button(root, command="but").pack()
entry1 = Entry(root, textvariable=text1).place(x=270, y=100)

您也可以在 Entry 小部件上调用 the.get() function 来获取文本。

import tkinter
from tkinter import Tk, Button, Entry


mw = Tk()

entry = Entry(mw)
entry.pack()


def but():
    text = entry.get()
    print(text)
    button.config(text='Button Clicked')

button = Button(mw, command=but, text='Test')
button.pack()


mw.mainloop()

这段代码确实有效,但会随着更大的代码而变得复杂。 在创建调用 function 的小部件之前,您必须定义 function。 在上面的例子中,如果你在 function 之前创建了按钮小部件,你会得到一个异常。 您可以创建小部件,然后创建 function,然后更改按钮的配置以在单击时调用 function,但这仍然非常复杂,并且在大型程序中会令人困惑。

我建议将所有东西都放在 class 中。 它使在函数中引用小部件变得容易。

import tkinter
from tkinter import Tk, Button, Entry


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

        self.entry = Entry(self.master)
        self.entry.pack()

        self.button = Button(self.master, text='Test', command=self.But)
        self.button.pack()


    def But(self):
        print(self.entry.get())
        self.button.config(text='Button Clicked.')


mw = Tk()

main = Main(mw)

mw.mainloop()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM