Título: Duda con ventanas en Tkinter en python
Publicado por: XD YO en 27 Enero 2010, 23:02 pm
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).
Título: Re: Duda con ventanas en Tkinter en python
Publicado por: Carloswaldo en 28 Enero 2010, 04:10 am
Puedes usar el widget toplevel
http://www.pythonware.com/library/tkinter/introduction/toplevel.htm
Título: Re: Duda con ventanas en Tkinter en python
Publicado por: Mungu en 29 Enero 2010, 19:26 pm
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
Título: Re: Duda con ventanas en Tkinter en python
Publicado por: XD YO en 30 Enero 2010, 00:10 am
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 )
Título: Re: Duda con ventanas en Tkinter en python
Publicado por: ^Tifa^ en 1 Febrero 2010, 20:13 pm
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.
Título: Re: Duda con ventanas en Tkinter en python
Publicado por: XD YO en 3 Febrero 2010, 05:28 am
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. ;)
|