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
我在 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