繁体   English   中英

python Tkinter标签通过按钮命令更改文本值

[英]python Tkinter label changing text value by Button Command

我正在使用Tkinter标签窗口小部件向UI框架显示一些文本,并且我希望标签每次单击按钮时都可以更改文本。 就我而言,我错了……它没有改变,可能吗?

这是我的代码。

currentCounterNumber = "0"

def counterPlus(teller_num):
    #.... the data is working well ....
    data = s.recv(1024) 
    if data:
        currentCounterNumber = data
......
class Content(tk.Frame):
def __init__(self, master, teller_name,*args, **kwargs):
    tk.Frame.__init__(self, *args, borderwidth=20, **kwargs)
    self.L4 = tk.Label(self, text="Serving # " + currentCounterNumber +"!")
    self.L4.pack( side = "top", fill="both", expand=False)      

    self.button1 = tk.Button(self, text="+", width=15, command=lambda: counterPlus(teller_no))
    self.button1.pack(side = "top", fill="both", expand=True)

假设定义了content_obj = Content(....)

您可以使用以下方式更改文本:

content_obj.L4['text'] = "Serving # {}!".format(currentCounterNumber)

要么

content_obj.L4.configure(text="Serving # {}!".format(currentCounterNumber))
#       OR     config

例:

from Tkinter import * # Python 3.x: from tkinter import *

def advance():
    lb['text'] = str(int(lb['text']) + 1)
    root.after(1000, advance)

root = Tk()
lb = Label(root, text='0')
lb.pack()
root.after(1000, advance)
root.mainloop()

暂无
暂无

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

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