example - entry python tkinter
¿Cómo se borra un create_text en un lienzo? (1)
Esto es, por ejemplo, un create_text:
self.__canvas.create_text(350, lineVotes, text=str(likesPrinted),
font=("calibri", 30), fill="#66FF99", anchor=E)
¿Cómo podría eliminar esto con un botón?
Una forma de hacerlo es mediante el uso de la ID de objeto que devuelven todos los constructores de objetos Canvas
:
id = self.__canvas.create_text(350, lineVotes,
text=str(likesPrinted),
font=("calibri", 30), fill="#66FF99", anchor=E)
Luego, luego puede usar la lista de métodos delete()
del objeto Canvas
como esta:
self.__canvas.delete(id)
Otra forma es adjuntar una etiqueta al objeto Canvas
y usar eso:
self.__canvas.create_text(350, lineVotes,
text=str(likesPrinted),
font=("calibri", 30), fill="#66FF99", anchor=E,
tag="some_tag")
Y luego pase la etiqueta al método delete()
lugar de la ID del objeto:
self.__canvas.delete("some_tag")
El nombre de una etiqueta puede ser cualquier cadena que no contenga espacios en blanco o puntos.
Las etiquetas son más potentes porque puedes asignar el mismo a múltiples objetos y luego actuar sobre ellos como un grupo. Por el contrario, un objeto puede tener más de una etiqueta unida especificando una tupla de ellos: es decir, tag=("1234", "@special", "tag:13,42")
en la llamada del constructor.