基本上,我希望 Text 小部件的主体在 StringVar 发生变化时发生变化。
问问题
5220 次
2 回答
10
简短的版本是,你不能。至少,不是没有做额外的工作。文本小部件不直接支持variable
选项。
如果您想自己完成所有工作,可以在变量上设置跟踪,以使文本小部件保持最新,并且您可以将绑定添加到文本小部件以使变量保持最新,但是什么都没有直接内置在 Tkinter 中以自动执行此操作。
不直接支持的主要原因是文本小部件不仅可以包含 ascii 文本——它可以有不同的字体和颜色、嵌入的小部件和图像以及标签。
于 2012-05-15T01:33:28.753 回答
1
我在做一个项目时想到了这一点。其实很简单:
import tkinter as tk
from tkinter import *
from tkinter.scrolledtext import ScrolledText
def get_stringvar(event):
SV.set(ST1.get("1.0", END))
ST2.replace("1.0", END, SV.get())
root = tk.Tk()
SV = StringVar()
ST1 = ScrolledText(root)
ST1.pack()
ST1.bind('<KeyRelease>', get_stringvar)
ST2 = ScrolledText(root)
ST2.pack()
root.mainloop()
于 2019-03-07T12:00:48.930 回答