texto example entry cuadro botones python tkinter tkinter-canvas

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.