12345678910111213141516171819202122232425262728293031323334353637 |
- """Start typing a color name for the mesh.
- E.g.: pink4
- (Press 'Esc' to exit)"""
- from vedo import settings, dataurl, get_color_name
- from vedo import Plotter, Mesh, Text2D
- def kfunc(evt):
- key = evt.keypress.lower()
- field_txt = field.text().strip() # strip leading/trailing spaces
- if key == "backspace" and field_txt:
- key = ""
- field_txt = field_txt[:-1]
- elif key == "escape":
- plt.close()
- return
- elif len(key) > 1:
- return
- color_name = field_txt + key
- field.text(f"{color_name:^12}").frame(color_name, lw=8)
- mesh.color(color_name)
- msg.text(get_color_name(color_name))
- plt.render()
- settings["enable_default_keyboard_callbacks"] = False
- mesh = Mesh(dataurl+"magnolia.vtk").color("black").flat()
- field = Text2D("black", pos="bottom-center",s=3, font="Meson", bg="k2", c="w", alpha=1)
- msg = Text2D(pos="top-right", s=2, font="Quikhand", c="k1", bg="k7", alpha=1)
- plt = Plotter()
- plt.add_callback("key press", kfunc)
- plt.show(mesh, field, msg, __doc__).close()
|