Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: ankora45 en 28 Septiembre 2013, 23:17 pm



Título: variable en un boton
Publicado por: ankora45 en 28 Septiembre 2013, 23:17 pm
Hola me gustaria saber como cambiar el nombre de la etiqueta del boton sucesivamente segun los clicks que le demos al boton, es decir como un contador. Puedo cambiar el nombre del boton pero 1 sola vez. alguien sabria decirme una funcion para poder pasar variables donde los nombres del boton, es decir una variable x en vez de hello world.

Código
  1. #!/usr/bin/python
  2. from gi.repository import Gtk
  3.  
  4. class MyWindow(Gtk.Window):
  5.  
  6.    def variable_x (self, variable):
  7.        x=0
  8.  
  9.    def __init__(self):
  10.        Gtk.Window.__init__(self, title="cuantas veces puedes darle al contador")
  11.        self.resize(640, 480)
  12.  
  13.  
  14.        self.button = Gtk.Button(label= "1")
  15.        self.button.connect("clicked", self.on_button_clicked)
  16.        self.add(self.button)
  17.  
  18.    def on_button_clicked(self, widget):
  19.        widget.set_label("2")
  20.  
  21. win = MyWindow()
  22. win.connect("delete-event", Gtk.main_quit)
  23. win.show_all()
  24. Gtk.main()
  25.  

ahora mismo solo me cambia de 1 a 2 y quiero que me cambie de manera que si le doy de nuevo salga 3, si le doy 4 clicks salga 4 etc. gracias de antemano


Título: Re: variable en un boton
Publicado por: Once en 29 Septiembre 2013, 04:57 am
Tú lo has dicho, sólo necesitas un contador. En __init__ coloca:

Código
  1. self.contador = 0

y en on_button_clicked:

Código
  1. self.contador += 1
  2. widget.set_label(str(self.contador))
  3.  

Saludos!