Python Tkinter 或 ttk,将文本发送到其他顶层 window

Python Tkinter or ttk, Send text to other toplevel window

我在 Python ttk 代码的开发过程中使用了一个单独的顶层 window,并且想从 root 发送消息到调试顶层 window。

这是一些伪代码

from Tkinter import *
import ttk
from MyFunctions import *    # some code I wrote (see below)
root = Tk()
SetupMyFunct(root)           # see below
de_bug = Toplevel(root)
dbug_frame = Frame(de_bug).grid()
debug_string1 = StringVar()
debug1_window = ttk.Label(dbug_frame, textvariable = debug_string1).grid()
root.mainloop()

在我的 MyFunctions.py:

from Tkinter import *
import ttk
def SetupMyFunct(root):
    f = ttk.Frame(root).grid()
    w = Frame(f).grid()

此时我想发送一些文本在 de_bug window 中自动更新,但我真的不知道从哪里开始。

请帮忙? 马克.

链接几何管理方法可防止您保留对这些小部件的引用,因为这些方法 return None 存储在那些变量中。别那样做。这将允许你做一些事情,比如使用对你的小部件的引用。具体来说,您可以将 dbug_frame 指定为 debug1_window 小部件的父对象。

from Tkinter import *
import ttk
from MyFunctions import *
root = Tk()
f,w = SetupMyFunct(root)
de_bug = Toplevel(root)
dbug_frame = Frame(de_bug)
dbug_frame.grid()
debug_string1 = StringVar()
debug1_window = ttk.Label(dbug_frame, textvariable=debug_string1)
debug1_window.grid()
root.mainloop()

from Tkinter import *
import ttk
def SetupMyFunct(root):
    f = ttk.Frame(root)
    f.grid()
    w = Frame(f)
    w.grid()
    return f,w