簡體   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