viernes, 1 de septiembre de 2017

Ventanas y Botones con funciones en Pycharm

Ejercicio 6  --------Ventana, botones y funciones.
Cada linea importante de este codigo tiene su comentario con la función que realiza en este programa.


#!/usr/bin/env python     #Permite aceptar caracteres ASCII en el codigo e interpretarlo
from tkinter import *

ventP = Tk()
ventP.title("Ventana Principal")    #Titulo de la Ventana principal
vent2=Toplevel(ventP)               #Indica que la ventana principal es ventP

vent2.geometry("300x300")
vent2.title("Ventana Secundaria")   #Titulo de la Ventana secundaria


def mostrar(ventana):               #Define la la funcion mostrar. Recibe como parametro un objeto    
   ventana.deiconify()             #Mostrar Objeto


def ocultar(ventana):               #Define la la funcion ocultar. Recibe como parametro un objeto    
   ventana.withdraw()              #Ocultar Objeto


def ejecutar(f):                    #Define la la funcion ejecutar. Recibe como parametro una función    
   ventP.after(200, f)             #Aplica una funcion. Recibe como parametro tiempo y una funcion.


def centrar(ventana):
    ventana.update_idletasks()      #proporciona una actualizacion de tareas en el momento.    
    ancho=ventana.winfo_width()     #obtiene el ancho de la ventana    
    alto=ventana.winfo_height()     #obtiene el alto de la ventana    
    extraerAncho=ventana.winfo_screenwidth()-ancho
    extraerAlto=ventana.winfo_screenheight()-alto
    ventana.geometry("%dx%d%+d%+d" % (ancho,alto,extraerAncho/2,extraerAlto/2))


ventP.config(bg="black")            #Fondo de ventana
ventP.geometry("500x500")           #Tamaño de ventana

Boton1=Button(ventP, text="Mostrar ventana", command=lambda: ejecutar(mostrar(vent2)))      #Definimos botones y su funcion
Boton1.grid(row=1, column=1)

Boton2=Button(ventP, text="Ocultar ventana", command=lambda: ejecutar(ocultar(vent2)))
Boton2.grid(row=2, column=2)

Boton3=Button(ventP, text="Centrar ventana", command=lambda: ejecutar(centrar(vent2)))
Boton3.grid(row=3, column=3)

vent2.withdraw()                    #Oculta la segunda ventana al inicio de la aplicacion.
ventP.mainloop()                    #Inicio del proceso principal

Ejecución del programa

Ejecucion.-
Botón Mostrar Ventana.-

Botón Centrar Ventana.-


Botón Ocultar Ventana.-

No hay comentarios:

Publicar un comentario