【问题标题】:changing label automatically in python在python中自动更改标签
【发布时间】:2014-03-02 13:57:16
【问题描述】:

我正在尝试在 python 中自动更改一个标签,我希望它每半秒更改一次,这是我的 tkinter 代码,被调用的函数(即被放入“消息”)每返回一个新字符串半秒,我做错了什么?

import Tkinter as tk

class Application(tk.Frame):
    def __init__(self):

        self.root = tk.Tk()
        self.root.geometry("150x136")

        tk.Frame.__init__(self, self.root)
        self.create_widgets()

    def create_widgets(self):
        self.root.bind('<Return>', self.parse)
        self.grid()

        self.instruction = tk.Label(self, text = "QuickReader")
        self.instruction.grid(row = 0, column = 0, columnspan = 4)

        self.entry = tk.Entry(self)
        self.entry.grid(row = 2, column = 0)

        self.submit = tk.Button(self, text="Submit")
        self.submit.bind('<Button-1>', self.parse)
        self.submit.grid(row = 4, column = 0)

        self.words = tk.Label(self, text = "Start")
        self.words.grid(row = 5, column = 0, columnspan = 4)


    def parse(self, event):
        filename = self.entry.get()
        message = open_txt(filename)
        self.words.set(message)

    def start(self):
        self.root.mainloop()

Application().start()

【问题讨论】:

  • change every every half a second的代码在哪里?

标签: python python-2.7 tkinter label


【解决方案1】:

要更改标签文本,请使用以下之一:

self.words.config(text=message)

self.words.configure(text=message)

self.words['text'] = message

【讨论】:

    【解决方案2】:

    http://effbot.org/tkinterbook/label.htm

    您可以将 Tkinter 变量与标签相关联。当变量的内容发生变化时,标签会自动更新:

    v = StringVar()
    Label(master, textvariable=v).pack()
    
    v.set("New Text!")
    

    所以,这应该很容易实现。

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 2018-06-02
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-18
      相关资源
      最近更新 更多