簡體   English   中英

Python Tkinter按鈕的回調不更改全局變量

[英]Python Tkinter button's callback not changing global variable

目前正在使用GUI Python。 我創建了一個按鈕,該按鈕應該更改標簽的內容,但是,我無法將lbtext的新值“導出”回全局命名空間。 我怎么做? 這是我的代碼:

from tkinter import *

lbtext = ""


def llb():
    global lbtext
    lbtext = "Hi"


master = Tk()

top = Canvas(master, name="gui")

but = Button(top, text="This is a button", command=llb)
but1 = Button(top, text='Meaning of life is: ', command=llb)
lb = Label(top, text=lbtext)

objs = [top, but, but1, lb]

for i in objs:
    i.pack()

mainloop()

謝謝!

訪問全局名稱空間按預期工作。 問題是標簽更新。

僅當您使用類似textvariable的方法時,此方法才有效:

v = StringVar()
lb = Label(top, textvariable=v)

在您的情況下,您必須主動更新llb回調中的標簽文本:

lb.config(text=lbtext)

暫無
暫無

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

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