簡體   English   中英

如何在 tkinter 中重置 StringVar

[英]How to reset StringVar in tkinter

我目前正在使用計算器,我正在編寫 C 按鈕(C 按鈕是刪除當前操作的按鈕)但是,我的想法是讓 C 按鈕將操作期間使用的所有變量返回到它們的起始 Z9ED369E2EA93942EF586B按下 C 后開始新的操作。 問題是我在閱讀 StackOverflow 上的答案后使用了 Tkinter 中稱為 StringVar() 的東西。 每次我點擊一個新按鈕時,它都會用於更新 label。 它可以工作,但是當按下 C 按鈕時嘗試將其恢復到正常的 state 時,它不起作用。 他們還是一樣的。 那么如何重置StringVar?

解決方案:原來我沒有分配 function 中使用的全局變量,但是任何重置 stringVar 的方法你都可以這樣做: (variable name).set("")

它應該是variableName.set("")

s = StringVar()

# here getting textvariable

value = s.get()
print(value)  # input value

s.set("")  # reset it

編輯:在下面的評論之后,我添加了這個結構來展示如何保持所需的項目清潔

# getting input
sFaculty = StringVar()
combo = ttk.Combobox(tab1, ..., textvariable=sFaculty, ...)

# assing it to function
Button(tab1, text="Insert", command=lambda: guiActions.insertStudent(..., sFaculty, ...))

# process and clean in a function
def insertStudent(..., faculty, ...):

    # process here

    # cleaning after insert
    faculty.set("")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM