Foros del Web » Programando para Internet » Python »

setlabel python

Estas en el tema de setlabel python en el foro de Python en Foros del Web. hola buenas! estoy haciendo el juego de buttonmania en python usando glade, bien tengo dos clases una matriz y otra interfaz, necesito poner en una ...
  #1 (permalink)  
Antiguo 22/05/2011, 04:29
 
Fecha de Ingreso: mayo-2011
Mensajes: 11
Antigüedad: 12 años, 11 meses
Puntos: 0
De acuerdo setlabel python

hola buenas! estoy haciendo el juego de buttonmania en python usando glade, bien tengo dos clases una matriz y otra interfaz, necesito poner en una etiqueta el numero de golpes que da el jugador se como se hace.. pero no se como se cabia el valor de la etiqueta, he leido por ahi que usando setlabel pero no tengo ni idea... alguien me puede exar un cable?¿
saludos!! gracias de antemano


por si a alguien le interesa ver un cacho de codigo ;)

Código Python:
Ver original
  1. #!usr/bin/python
  2. # -*-coding utf-8-*-
  3. import gtk
  4. import random
  5. import os
  6.  
  7. class cmatriz():
  8.     def __init__ (self,filas,colum):
  9.         self.filas=filas
  10.         self.colum=colum
  11.         self.fil=[]
  12.         self.col=[]
  13.         self.golpes=0
  14.  
  15.     def inicializar(self):
  16.         self.m=[]
  17.         self.m2=[]
  18.         for i in range(0,self.filas+2):
  19.             f=[]
  20.             f2=[]
  21.             for j in range(0,self.colum+2):
  22.                 f.append(0)
  23.                 f2.append(0)
  24.             self.m.append(f)
  25.             self.m2.append(f2)
  26.         self.fil=[]
  27.         self.col=[]
  28.  
  29.     def sucesor(self,c,d):
  30.         if self.m[c][d] == 3:
  31.             self.m[c][d]=0
  32.         else:
  33.             self.m[c][d]=(self.m[c][d])+1
  34.  
  35.     def predecesor (self,c,d):
  36.         if self.m[c][d] == 0:
  37.             self.m[c][d]=3
  38.         else:
  39.             self.m[c][d]=(self.m[c][d])-1
  40.  
  41.     def generarmat(self,a,b):
  42.         self.sucesor(a,b)
  43.         self.sucesor(a-1,b)
  44.         self.sucesor(a,b-1)
  45.         self.sucesor(a+1,b)
  46.         self.sucesor(a,b+1)
  47.  
  48.     def golpearmat(self,a,b):
  49.         self.predecesor(a,b)
  50.         self.predecesor(a-1,b)
  51.         self.predecesor(a,b-1)
  52.         self.predecesor(a+1,b)
  53.         self.predecesor(a,b+1)
  54.         self.fil.append(a)
  55.         self.col.append(b)
  56.  
  57.     def nivel(self,lvl):
  58.         lvl=lvl*3
  59.         for i in range(0,lvl):
  60.             a=random.randint(1,self.filas)
  61.             b=random.randint(1,self.colum)
  62.             self.generarmat(a,b)
  63.         self.recomenzar()      
  64.         print self.m
  65.  
  66.     def deshacer(self):
  67.         if len(self.fil)>0:
  68.             self.generarmat(self.fil[-1],self.col[-1])
  69.             self.fil.pop()
  70.             self.col.pop()
  71.  
  72.     def recomenzar(self):
  73.         for i in range(0,self.filas+2):
  74.             for j in range(0,self.colum+2):
  75.                 self.m2[i][j]=self.m[i][j]
  76.  
  77.     def recomenzar1(self):
  78.         for i in range(0,self.filas+2):
  79.             for j in range(0,self.colum+2):
  80.                 self.m[i][j]=self.m2[i][j]
  81.  
  82.     def comprobar(self):
  83.         comprobar=True
  84.         for i in range(1,7):
  85.             for j in range(1,7):
  86.                 if self.m[i][j] != 0:
  87.                     comprobar= False
  88.         return comprobar
  89.  
  90.     def golpesmas(self):
  91.         if golpes >= 0:
  92.             golpes=golpes+1
  93.  
  94.     def golpesmen(self):
  95.         if golpes>=0:
  96.             golpes=golpes-1
  97.  
  98. class interfaz():
  99.     def __init__(self,matriz):
  100.         self.glade=gtk.Builder()
  101.         self.glade.add_from_file('com.glade')
  102.         self.ventana=self.glade.get_object('window1')
  103.         self.pulsadores=self.glade.get_object('table1').get_children()
  104.         self.pulsadores1=self.glade.get_object('hbox2').get_children()
  105.         self.pulsadores2=self.glade.get_object('hbox3').get_children()
  106.         for i in range(len(self.pulsadores)):
  107.             self.pulsadores[i].set_label('0')
  108.         self.glade.connect_signals(self)
  109.         self.ventana.show_all()
  110.         self.matriz=matriz
  111.     def actualizar(self):
  112.         for i in range(len(self.pulsadores)):
  113.             a=((35-i)//(6))+1
  114.             b=((35-i)%(6))+1
  115.             self.pulsadores[i].set_label(str(self.matriz.m[a][b]))
  116.  
  117.  
  118.     def on_button_clicked(self,widget):
  119.         for i in range(len(self.pulsadores)):
  120.             if self.pulsadores[i]==widget:
  121.                 a=((35-i)//(6))+1
  122.                 b=((35-i)%(6))+1
  123.                 print a,b
  124.                 self.matriz.golpearmat(a,b)            
  125.         if self.matriz.comprobar():
  126.             print'p'
  127.             self.matriz.m=[]
  128.             self.matriz.inicializar()
  129.             self.matriz.nivel(1)
  130.  
  131.         self.actualizar()
  132.                
  133.  
  134.     def on_window1_delete_event(self,widget,event):
  135.         gtk.main_quit()
  136.         print 'xao'
  137.  
  138.  
  139.     def button_clicked_cb(self,widget):
  140.         self.matriz.m=[]
  141.         self.matriz.inicializar()
  142.         self.matriz.nivel(1)
  143.         self.actualizar()
  144.    
  145.     def on_deshacer_clicked(self,widget):
  146.         self.matriz.deshacer()
  147.         self.actualizar()
  148.  
  149.     def on_recomenzar_clicked(self,widget):
  150.         self.matriz.recomenzar1()
  151.         self.actualizar()
  152.    
  153.     def nivel_clicked_cb(self,widget)
  154.         for i in range(len(self.pulsadores1)):
  155.             if self.pulsadores1[i]==widget:
  156.                 lvl=i
  157.                 print 'estas en el nivel:', lvl
  158.                 self.matriz.m=[]
  159.                 self.matriz.inicializar()
  160.                 self.matriz.nivel(lvl)
  161.                 self.actualizar()
  162.  
  163. os.system('clear')
  164. matriz=cmatriz(6,6)
  165. matriz.inicializar()
  166.  
  167. app=interfaz(matriz)
  168. matriz.nivel(1)
  169. app.actualizar()
  170.  
  171. gtk.main()

Última edición por AlvaroG; 22/05/2011 a las 12:22 Razón: coloreado de código
  #2 (permalink)  
Antiguo 22/05/2011, 10:14
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: setlabel python

Código de ejemplo para un contador de click en un boton

Código Python:
Ver original
  1. import pygtk
  2. pygtk.require('2.0')
  3. import gtk
  4.  
  5. i = 0
  6.  
  7. def onClick(button, label):
  8.     global i
  9.     i += 1
  10.     label.set_text(str(i))
  11.  
  12. window = gtk.Window()
  13. vbox = gtk.VBox()
  14. button = gtk.Button("Presiona para contrar")
  15. label = gtk.Label(i)
  16.  
  17. window.add(vbox)
  18. vbox.add(label)
  19. vbox.pack_start(button)
  20.  
  21. window.connect("delete-event", gtk.main_quit)
  22. button.connect("clicked", onClick, label)
  23.  
  24. window.show_all()
  25. gtk.main()
  #3 (permalink)  
Antiguo 22/05/2011, 10:39
 
Fecha de Ingreso: mayo-2011
Mensajes: 11
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: setlabel python

muchas gracias!!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.