How to change the text through code in matplotlib TextBox widget(如何通过 matplotlib TextBox 小部件中的代码更改文本)
问题描述
我有一个matplotlib小部件文本框如下
I have a matplotlib widget Textbox as follows
temp_descr = 'wow'
self.axLabel = plt.axes([0.7, 0.05, 0.21, 0.075])
self.text_boxLabel = TextBox(self.axLabel, 'Label: ', temp_descr)
一旦设置为初始值,我以后如何更改文本?喜欢
Once it is set to its initial value, how can I later change the text? Like
temp_descr = 'new wow'
self.text_boxLabel.set_text(temp_descr)
但是,这会产生以下错误
However, this gives the following error
AttributeError: 'TextBox' 对象没有属性 'set_text'
AttributeError: 'TextBox' object has no attribute 'set_text'
推荐答案
您不仅要设置显示的文本,还要更改内部存储的文本.要一次性完成所有操作,请使用 TextBox
的 .set_val()
方法.
You do not only want to set the text which is shown but also change the text which is internally stored. To do this all at once use the TextBox
's .set_val()
method.
import matplotlib.pyplot as plt
import matplotlib.widgets
temp_descr = 'wow'
axLabel = plt.axes([0.7, 0.05, 0.21, 0.075])
textbox = matplotlib.widgets.TextBox(axLabel, 'Label: ', temp_descr)
textbox.set_val("jojojo")
plt.show()
这篇关于如何通过 matplotlib TextBox 小部件中的代码更改文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!