有没有办法随时更改 TextBox
文本颜色?我已经尝试过谷歌;我的问题看起来太微不足道了,但我仍然不知所措。
TextBox
方法:
: dir(matplotlib.widgets.TextBox)
Out[63]:
[
...
'active',
'begin_typing',
'connect_event',
'disconnect',
'disconnect_events',
'drawon',
'eventson',
'get_active',
'ignore',
'on_submit',
'on_text_change',
'position_cursor',
'set_active',
'set_val',
'stop_typing']
AxesWidget
父类(super class)方法:
: dir(matplotlib.widgets.AxesWidget)
Out[64]:
[
...
'active',
'connect_event',
'disconnect_events',
'drawon',
'eventson',
'get_active',
'ignore',
'set_active']
没有任何暗示。至少,在我看来。
最佳答案
仅部分答案 - 在不了解更完整的应用程序的情况下,这是否对您有帮助并不明显。您可以更改两部分文本的颜色:标签和编辑框。下面展示了如何更改每个内容一次。
import matplotlib.widgets
import matplotlib.pyplot as plt
plt.figure(1)
ax = plt.subplot(111)
tb = matplotlib.widgets.TextBox(ax, "Name:", initial="Jane Doe")
tb.label.set_color('red') # label color
tb.text_disp.set_color('blue') # text inside the edit box
如果您只是希望标签文本不同,那么这种情况仍然存在。但是,每当编辑框(text_disp
)内的文本发生更改时,它就会再次变为黑色。
这是因为小部件重新创建了文本
(by removing and then re-generating,它会再次变成黑色。
source for the text create method没有任何用户可以修改的参数(颜色、字体大小/粗细等)或包含为 TextBox 实例属性。
您可以编写自己的子类来重写此方法。或者也许简单地在输入文本后设置它就足够了?
关于python - matplotlib.widgets.TextBox : change color,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49423770/