在Tkinter消息框中刷新文本

时间:2018-11-04 13:53:45

标签: python-3.x tkinter

我有一个包含许多步骤的Python代码。我所做的每一步都是印刷品,上面写着我已经完成了这一步骤。我正在寻找一种打开消息窗口的方法,每步结束,然后打印将显示在同一窗口中,直到结束。我该怎么办?

1 个答案:

答案 0 :(得分:1)

这可能会有所帮助。

from tkinter import *

class Application(Frame):
    t = None

    def say_hi(self):
        self.t.message.insert(END, "hi there!! \n")

    def createWidgets(self):
        self.QUIT = Button(self)
        self.QUIT["text"] = "QUIT"
        self.QUIT["fg"]   = "red"
        self.QUIT["command"] =  self.quit

        self.QUIT.pack({"side": "left"})

        self.hi_there = Button(self)
        self.hi_there["text"] = "Launch",
        self.hi_there["command"] = self.create_window

        self.hi_there.pack({"side": "left"})

    def create_window(self):
        if(self.t):
            self.say_hi()
        else:
            self.t = Toplevel(self)
            self.t.wm_title("Message Window")
            self.t.message = Text(self.t, height=20, width=30)
            self.t.message.pack()
            self.say_hi()

    def __init__(self, master=None):
        Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()

您有一个主应用程序,该应用程序将打开一个带有文本区域的TopLevel窗口。

通过say_hi函数,您可以从创建的消息窗口直接在文本区域上书写。

我希望这就是您想要的。