Mensajes: 155
Temas: 57
Registro en: Jan 2018
Reputación:
0
Hola gente, ¿cómo estás, Francisco?
Tengo 7 entrys dentro de un frame y quisiera que sean todos de solo lectura hasta
que se pulse el botón <Agregar>, es bastante tedioso tener que cambiar el estado
de cada uno cada vez que se quieran editar.-
Encontré por allí una manera de hacerlo con un bucle for, pero no me convenció.-
No subo lo que tengo hecho porque son 3 módulos y no me parece importante,
si creen lo contrario, díganmelo.-
Desde ya muchas gracias por el tiempo que le dediquen...
Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Mensajes: 1.301
Temas: 3
Registro en: Feb 2016
Reputación:
71
Hola, Daniel, ¿cómo estás?
No veo otra forma de hacerlo que no sea llamando a .config(state="readonly") en cada uno de los entries, así que creo que la solución del bucle es la mejor. Si después necesitás hacerlo en distintos lugares del código, tal vez ahí te convenga crear una función o una clase que herede de ttk.Frame y tenga un método con el bucle.
Saludos
Mensajes: 155
Temas: 57
Registro en: Jan 2018
Reputación:
0
20-10-2022, 10:30 PM
(Última modificación: 20-10-2022, 10:38 PM por Daniel.py.)
Gracias Francisco.-
A continuación dejo lo que logre, para ayudarlos a entender, les aclaro
que todas las veces que necesito pasar muchos parámetros a las
funciones los pongo a todos en una lista y este es el código.-
Código:
# lista para pasar los parametros a funciones.
parametros = []
parametros.append(servicios) # [0] Ventana
parametros.append(combo_mes) # [1] Mes.
parametros.append(combo_anio) # [2] Año.
parametros.append(caja_entrys) # [3] Frame Label y Entrys.
parametros.append(entrada_epe_monto) # [4] EPE monto.
parametros.append(entrada_epe_kwh) # [5] EPE kwh.
parametros.append(entrada_gas_monto) # [6] GAS monto.
parametros.append(entrada_gas_M3) # [7] GAS M3.
parametros.append(entrada_comuna) # [8] Comuna.
parametros.append(entrada_ceodal) # [9] Ceodal.
parametros.append(entrada_cable) # [10] Cable Max.
parametros.append(caja_botones) # [11] Frame botones.
Código:
def agregar(parametros):
parametros[11].place_forget()
# Activar todos los entrys.
indice = 4
while indice < 11:
parametros[indice].config(state=tk.NORMAL)
indice += 1
Cita:...Si después necesitás hacerlo en distintos lugares del código, tal vez ahí te convenga crear una función o una clase que herede de ttk.Frame y tenga un método con el bucle.
Me generaste muchas preguntas con esta frase, cuando tenga más
conocimiento de la POO, en el futuro te voy a pedir más precisiones.-
Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-