如何在if参数中使用tkinter中的Entry函数?

2024-10-01 07:34:05 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我用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)

Tags: 用户密码参数getifdef条目button
1条回答
网友
1楼 · 发布于 2024-10-01 07:34:05

您也可以调用Entry小部件上的.get()函数来获取文本

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()

此代码确实可以工作,但如果代码较大,则会变得复杂。在创建调用该函数的小部件之前,必须先定义该函数。在上面的例子中,如果您在函数之前创建了button小部件,您将得到一个异常。您可以创建小部件,然后创建函数,然后更改按钮的配置,以便在单击时调用该函数,但这仍然相当复杂,在大型程序中会很混乱

我建议把所有的东西都放在一节课上。它使得在函数中引用小部件变得很容易

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()

相关问题 更多 >