dos preguntas...

Joaquin Jose del Cerro Murciano jjdelcerromurciano en yahoo.es
Jue Sep 15 11:15:10 CEST 2005


El Jueves, 15 de Septiembre de 2005 10:05, David Pantoja escribió:
> Muchas gracias por las repuestas, me han devuelto la fe en las listas
> de correo, gracias....
>
> la primera pregunta tiene que ver con una pantallita de logueo en
> tkinter, alguien conoce algun ejemplo, tengo una aplicacioncita que
> gracias a su ayuda ya funciona mas o menos bien, y me hacen falta
> muchas mas cosas pero las basicas tienen que ver primero con una
> pantallita de logueo esto es, me imagino que debo llamar a la pantalla
> raiz con dos campos de texto, despues el boton de ingreso, al
> activarlo debe de pintar en la misma pantalla dos posibilidades, si la
> contraseña y el usuario son correctos, debe pasar a la aplicacion
> principal y si no a otra pantalla con un mensaje de error, la duda es
> si todo esto sucede en la misma pantalla raiz en la que voy a pintar
> la aplicacion principal o si no es asi, en fin un ejemplito que tengan
> por alli me seria de gran utilidad y si fuera posible unas ideas a
> cerca de como es que funcionan estos chunches, en el caso del web, se
> pasa a una pagina distinta en uno u otro caso, pero en esto de las
> aplicaciones graficas me imagino que es distinto, o no lo se...
>

Mis arranques de aplicacion suelen ser muy iguales (de hecho copio y cambio 
algunos rutulos e imagenes como mucho). 
  1. Presento un splash
  2. Ejecuto la carga de datos que necesita la aplicacion
  3. cierro el splash
  4. presento una ventana de login que coge los datos
      y los valida
  5. Espero a que se cierre la ventana
  6. Si no ha ido bien me salgo por piernas
  7. Presento la ventana principal
  8. entro en el mainloop.

Lo que sucede es que tengo un monton de clases que me ayudan a
hacer todo esto. No suelo usar Tkinter directamente, pero voy a ver si te 
puedo esbozar mejor como hacer esto (algun error se me colara, siempre
pasan esas cosas cuando haces un refrito).

Pos ma salido un refrito un poco tocho. 
Mil disculpas al resto de la lista por el tocho.
Espero que por lo menos sirba para aprender algo sobre
tkinter a los que empiezan.

Una pregunta para la lista o su moderador, 
¿ Una cosa como esta se debe contestar en la lista o en 
privado ?
Lo digo por que algunas veces la gente se ha quejado cuando
alguien mete un correo tocho en la lista.

class Window(Toplevel):
  def __init__(self):
    Toplevel.__init__(self)
    self.hide()
    self.window_load(self)
  
  def hide(self):
    self.withdraw() 
    
  def showModal(self):
    self.update_idletasks()
    self.deiconify()
    self.transient()
    self.grab_set()
    # Intento asegurarme de que cuando se
    # invoca a window_show ya se ha pintado 
    # la ventana
    self.update_idletasks()
    self.update_idletasks()
    self.window_show()
    try:
      self.wait_window(self)
    except:
      pass
    return True    

  def show(self):
    self.update_idletasks()
    self.deiconify()
    # Intento asegurarme de que cuando se
    # invoca a window_show ya se ha pintado 
    # la ventana
    self.update_idletasks()
    self.update_idletasks()
    self.window_show()
    return True
    
  def window_load(self):
    """
    A sobreescribir.
    
    Se invoca tras la creacion de la
    ventana.
    Aqui se deberian añadir los controles
    a esta.
    """
    pass
  
  def window_show(self):
    """
    A sobreescribir.
    
    Se invoca tras mostrarse la ventana.
    """
    pass
  
class Splash(Window):
  def __init__(self,callback):
    self.__callback = callback
    window.__init__(self)

  def window_show(self):
    self.__callback()
    self.hide()

  def window_load(self):
    # Ala, aqui a poner los controles,
    # un Label con una imagen o algun texto
    # de cargando la aplicacion por ejemplo.
    pass
    
class Login(Window):
    
  def window_load(self):
    # Ala, aqui a poner los controles,
    # Unas cajas de texto para el usuario y
    # la contraseña.
    # unos botones de aceptar, cancelar 
    # y cosas de esas.
    # Los eventos de los botones cancelar y aceptar
    # al final deberian llamar o hacer algo como los
    # metodos aceptar() y cancelar() que he puesto
    # mas abajo.
    self.ok = False
    pass
  
  def cancelar(self):
    self.ok = False
    self.hide()
  
  def aceptar(self):
    self.ok = True
    self.hide()

class Aplicacion(Window):
  pass
  
def main():
  splash = Splash(micallback)
  splash.showModal()
  login = Login()
  login.showModal()
  if not login.ok :
    return
  app = Aplicacion()
  app.show()
  app.mainloop()
  
  
    
        
> y la segunda pregunta, es que tengo una impresora termica tsp700 de la
> marca star, esta viejita y el manual no habla de como programarla,
> pero es una impresora 'raw' esto es, si le pasas un
>
> # cat /etc/group > /dev/lp0
>
> se pone a imprimir el contenido del fichero, no se si alguien haya
> trabajado con este tipo de impresoras en python y si no es asi, que
> harian ustedes para programar la impresion de una impresora termica?
>
> estas son mis preguntas por ahora, ojala alguien me pueda seguir
> ayudando, muchas gracias compañeros...
>
> David.
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es

		
______________________________________________ 
Renovamos el Correo Yahoo! 
Nuevos servicios, más seguridad 
http://correo.yahoo.es




Más información sobre la lista de distribución Python-es