Pregunta tonta seguramente

Rolando José Torres Sánchez rolandojtorres en gmail.com
Vie Oct 27 16:40:32 CEST 2006


abrir otra ventana con un botton lo generas con toplevel, y defines
para esa otra ventana toda la info que quieras como si fuera una nueva

2006/10/27, Maria Eugenia Ferrero <ferrero.mariaeugenia en gmail.com>:
> Hola gente, la verdad es que me di por vencida, intento , intento e intento
> pero no sé que es lo que me etsa fallando.
> Lo que yo quiero es que desde una ventana al hacer click sobre un botón me
> abra otra ventana mostrándome dicha información (ese es el comienzo de la
> aplicación, porque tengo q seguir agragando cosas).
> Acá va el código:
>
> #!/usr/bin/env python
> import os, string
> from Tkinter import *
>
> class dialog:
>     def __init__(self, master):         self.top = Toplevel(master)
>             self.top.title('Plataforma')
>             self.top.geometry('200x100+300+250')
>             self.frame = Frame(self.top)
>             self.frame.pack(side = BOTTOM)
>             self.accept_button = Button(self.frame,text = 'Aceptar',command
> = self.accept)
>             self.accept_button.pack(side = LEFT)
>             self.cancel_button = Button(self.frame,text = 'Cancelar',command
> = self.cancel)
>             self.cancel_button.pack(side = RIGHT)
>                self.top.protocol('WM_DELETE_WINDOW', self.cancel)
>         self.eti = Label(self.frame, width='5', height = '15')
>         self.eti.pack()
>     def accept(self):
>          self.top.destroy()
>    def cancel(self):
>           self.top.destroy()
>
> class Info:
>     def __init__( self, padre ):
>         self.myContainer = Frame(padre)
>                self.myContainer.pack()
>         self._plataforma = None
>         self.boton2 = Button(self.myContainer, text="Plataforma",
>                     command = self.openDialog)
>         self.boton2.pack()
>
>     def openDialog(self):
>         self.dialog = dialog(self.myContainer)
>         self._plataforma = os.uname()[0]
>         return "Plataforma: %s" % (self._plataforma)
>
> if __name__ == '__main__':
>     root = Tk()
>     root.title('Monitor')
>     root.geometry("500x500")
>     info = Info(root)
>     root.mainloop()
>
> Sé que no estoy haciendo de la mejor forma, pero por ahi en los tutoriales
> no encuentro las cosas q quiero entonces me voy guiando de ejemplos y los
> voy modificando jeje.
> Mi pregunta es que es lo que estoy haciendo mal? Por qué al hacer click en
> el botón plataforma en la ventana que me habre no me muestra un label con
> dicha información?
> Probe también poniendo en openDialog():
>         mensj = "Plataforma: %s" % (self._plataforma)
>         Label(self.dialog,text=mensj).pack()
> pero ahi me tira el sigueinte error:
>
> Exception in Tkinter callback
> Traceback (most recent call last):
>   File "lib-tk/Tkinter.py", line 1348, in __call__
>     return self.func(*args)
>   File "otromauge.py", line 22, in openDialog
>     Label(self.dialog,text=mensj).pack()
>   File "lib-tk/Tkinter.py", line 2400, in __init__
>     Widget.__init__(self, master, 'label', cnf, kw)
>   File "lib-tk/Tkinter.py", line 1859, in __init__
>     BaseWidget._setup(self, master, cnf)
>   File "lib-tk/Tkinter.py", line 1837, in _setup
>     self.tk = master.tk
> AttributeError: dialog instance has no attribute 'tk'
>
> Bueno creo que ya los he mareado a todos jejeje, perdonen, si no fui clara
> preguntenme y aclaro tal vez la pregunta... en definitiva quiero que en la
> segunda ventana me aparezca arriba de los botones Aceptar y Cancela un Label
> diciéndome la plataforma.....
>
> Desde ya muchisimas gracias, adios.-
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>


-- 
Rolando José Torres Sánchez
Desarrollador de Software
rolandojtorres en hotmail.com
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


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