5

基本上,我希望 Text 小部件的主体在 StringVar 发生变化时发生变化。

4

2 回答 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 回答