Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
¿Como puedo referirme a un botón fuera de su clase?
#1
Soy nuevo en el foro y debo decir que también programando. Aunque puede resultar ridícula llevo algún tiempo con una duda que pese a mi empeño no he conseguido solucionar.
Código:
from Tkinter import *
import Tkinter

#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# como tengo que referirme al botónn para que la función
# cambie el texto??.
def Otro_Texto():
 
   if Boton['text'] == "Conectar":
       Boton.configure(text='xxxxxrfdfdfdf')
               
#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  

class pantalla:

   def Ventana_Frame(self):
       self.Frame_Conf = Frame(Ventana, width=157, height=60, bd="0", highlightthickness=0)
       self.Frame_Conf.place(x="10",y="50")
       
       self.Boton = Button(self.Frame_Conf, text="Funcion_Otro_Texto",width="18", font=("Comic Sans MS",9), command=Otro_Texto).place(x="10",y="10")

obj_pantalla=pantalla()


if __name__ == '__main__':  
   
   Ventana = Tkinter.Tk()
   Ventana.title("Ventana")
   Ventana.configure(background="#0a0000")
   btn_Abri_conexi = Button(Ventana, text="Abrir_Frame_Conf",width="18", font=("Comic Sans MS",9), command=obj_pantalla.Ventana_Frame).place(x="20",y="10")

Ventana.mainloop()


Estaría muy agradecido si alguien me pudiese orientar. Muchas gracias
Responder
#2
Hola, bienvenido. Simplemente creas tu función adentro de la clase, así podras acceder al botón como self.Boton.

Código:
class pantalla:

    def Ventana_Frame(self):
        self.Frame_Conf = Frame(Ventana, width=157, height=60, bd="0", highlightthickness=0)
        self.Frame_Conf.place(x="10",y="50")
        self.Boton = Button(self.Frame_Conf, text="Funcion_Otro_Texto",width="18", font=("Comic Sans MS",9), command=self.Otro_Texto)

    def Otro_Texto(self):
        if self.Boton['text'] == "Conectar":
            self.Boton.configure(text='xxxxxrfdfdfdf')

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Muchísimas gracias.
Existe la posibilidad de acceder fuera de la clase??
Responder
#4
Sí, usando el nombre de la instancia:

Código:
obj_pantalla.Boton.configure(...)
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#5
Muchísimas gracias otra vez, fuiste de gran ayuda.
Responder
#6
De nada! Wink
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)