Duda con ventanas en Tkinter en python

Iniciado por XD YO, 27 Enero 2010, 23:02 PM

0 Miembros y 1 Visitante están viendo este tema.

XD YO

Hola, soy nuevo en este foro. Bueno, mi problema es que no tengo la menor idea de como conseguir o hacer la función de abrir una ventana nueva al oprimir un botón utilizando Tkinter.

He buscado, pero sinceramente no tengo la menor idea de como buscarlo (valga la rebusnancia).

"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal

Carloswaldo


Mungu

Así te daría un mensaje del tipo showinfo:


from Tkinter import *
from tkMessageBox import showinfo

def mensage():
       showinfo(title='mensaje', message='supermensajeeeeeee');
a = Tk()
a.title('Simple mensaje');
button =Button(a, text='Presioname', command=mensage);
button.pack()
a.mainloop()


No sé si es esto lo que necesitas pero igual te sirve como ejemplo.

Salu2 ;)

PD:Acuerdate deguardarlo como .pyw para que no se vea la shell cuando uses Tkinter

     
     
     

XD YO

#3
Gracias, puse en practica lo del Toplevel como lo dijo Carloswaldo  y este es el código:


from Tkinter import *
#Es en esta funcion en la que definimos la ventana de practica
def newwin():
   P = Toplevel()
   P.title("ExamenX--Practica :)")
   P.mainloop()
#En esta parte definimos la ventana de un examen de tipo real
def newwin2():
   R = Toplevel()
   R.title("ExamenX--Real =(")
   R.mainloop()
#Se crean y nombra la ventana prinsipal"raiz" (en algunos casos llamada root"
raiz=Tk()
raiz.title("ExamenX")
#Definimos el texto que llevara, el cual tine la varible bienvenido
bienvenido="Biembenido a ExamenX\nUn generador de examenes GPL\n\n\nPor favor, seleccione el tipo de Examen"
#creamos la variable del texto dentro de la ventana
bientext = Label(raiz, text=bienvenido)
#lo colocamos dentro de "la grilla"
bientext.grid(row=2, column=2)
#Creamos el boton que invocara a la ventana practica
practica = Button(raiz, text="De Practica :)", command=newwin, width=20)
practica.grid(row=4, column=2)
#Creamos el boton que invocara a la ventana de examen departametal
parcial = Button(raiz, text="Real =(", command=newwin2, width=20)
parcial.grid(row=5, column=2)
raiz.mainloop()


Estoy trabajando en un pequeño generador de exámenes para los maestros de una escuela y para que los alumnos  puedan hacer los propios para estudiar

PD: Mungu, Gracias, por los de mensaje, ya había trabajado con ellos realizando un experimento para mandar un mensaje en caso de que se sierre una ventana por error (era la única aplicación que sabia dar XD )
"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal

^Tifa^

Es muy requerida para ti dicha ventana nueva????

Lo digo por el consumo de memoria que aunque sea minimo ahorrarse eso minimo nunca esta demas.

XD YO

Si, es en lo que pese al ver que controlar ciertas funciones era un poco mas complicado  :-[ ;)
A si que lo rescribi sin las ventanas:

from Tkinter import *
raiz=Tk()
raiz.title("ExamenX")
#####################################################
#definimos algunas varibles simples
bienvenido="Biembenido a ExamenX\nUn generador de examenes GPL\n\n\nPor favor, seleccione el tipo de Examen"
pare = IntVar()
Lala = IntVar()
#####################################################
#Definimos lo que queremos
###Aqui los textos
practext = Label(raiz, text="De Practica :)", width=20)
parctext = Label(raiz, text="Real =(", width=20)
bientext = Label(raiz, text=bienvenido)
###Aqui las entradas de texto
numpre = Entry(raiz, textvariable=Lala, width=20)
###Aqui los Botones

###Aqui los RadioButtons
praccb = Radiobutton(raiz, variable=pare, value=1)
parccb = Radiobutton(raiz,variable=pare, value=2)
#####################################################
#Colocamos las cosas en la Grilla
###Primero Textos
bientext.grid(row=2, column=2)
parctext.grid(row=4, column=3)
practext.grid(row=4, column=1)
###Aqui las entradas de texto
numpre.grid(row=6, column=2)
###Aqui los Botones

###Despues RadioButtons
praccb.grid(row=5, column=1)
parccb.grid(row=5, column=3)
raiz.mainloop()


Al menos, hay un sencillo ejemplo del Toplevel en español, si se puede sacar algo bueno....

PD: Si, no hay buttons... , estoy trabajando en los algoritmos para las funciones para lo que quiero hacer después.

GRACIAS. ;)
"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal