es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Intentando mostrar una barra de progreso en Tkinter con Canvas.

Estaba tratando de agregar una barra de progreso para mostrar algunos valores de forma independiente como esto:

VALORES DE PARÁMETROS

Así que usé este código agregándolo a mi programa principal, pero cuando codifiqué esto:

class Processing1ra(tk.Frame):

def init(self, parent):
scalevar=IntVar()
self.canvas = Canvas(
bg = “#FFFFFF”,
height = 888,
width = 1458,
bd = 0,
highlightthickness = 0,
relief = “ridge”
)
self.scale=Scale(from_=0,to=100,orient=”horizontal”,variable=scalevar,command=self.volumelevel)
self.scale.pack()
def volumelevel(self,scalevar):
a=16
scalevar=int(scalevar)
self.canvas.delete(self.rectangle_1)
if scalevar <= 50:
self.rectangle_1=self.canvas.create_rectangle(250.0,356.0,scalevar,a+250,fill=”#AFDE14″,outline=””)
else:
self.rectangle_1=self.canvas.create_rectangle(250, 356,300, a+356,fill=”#AFDE14″,outline=””)
self.rectangle_2=self.canvas.create_rectangle(300, 356, scalevar,a+356, fill=”#EB0701″,outline=””)

El problema está en self.canvas.delete(self.rectangle_1), obtengo estos errores:

Excepción en la devolución de llamada Tkinter
Rastreo de pila (llamadas más recientes):
Archivo “C:\Program Files\Python39\lib\tkinter__init__.py”, línea 1892, en call
return self.func(*args)
Archivo “d:\11.17.21\Interfaz4.py”, línea 544, en volumelevel
self.canvas.delete(self.rectangle_1)
AttributeError: el objeto ‘Processing1ra’ no tiene atributo ‘rectangle_1’

Pero en el caso de usar self.canvas.delete(ALL) en lugar de self.canvas.delete(self.rectangle_1), se borrarán otros componentes.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que estás obteniendo un AttributeError cuando intentas usar self.canvas.delete(self.rectangle_1). Esto se debe a que aún no has definido self.rectangle_1. Puedes intentar usar self.canvas.delete(ALL) en su lugar, pero esto borrará todos los componentes en el lienzo.

Comments are closed.