Tu comunidad de Seguridad Informatica

Curso Introductorio a Python con Interfaces graficas TK Info1810 Para ver Todo el contenido del foro es necesario estar Registrado! Curso Introductorio a Python con Interfaces graficas TK Info1810
Curso Introductorio a Python con Interfaces graficas TK Info1810 Antes de comentar o Aportar es Obligado Leer Las: Reglas | Rules Curso Introductorio a Python con Interfaces graficas TK Info1810
Curso Introductorio a Python con Interfaces graficas TK Info1810Ya Esta Disponible al publico "LeProject" el Videojuego del Foro Click Aquí Para Ver el Post. Curso Introductorio a Python con Interfaces graficas TK Info1810
Curso Introductorio a Python con Interfaces graficas TK Info1810Pitbull Security Labs "Extras" Esta Disponible! [ENTRA]Curso Introductorio a Python con Interfaces graficas TK Info1810

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

1Expermicid 

Expermicid
Usuario
Usuario

Lun Mar 18, 2013 12:20 pm
Tkinter es un binding de la biblioteca gráfica Tcl/Tk para el lenguaje de programación Python. Se considera un estándar para la interfaz gráfica de usuario (GUI) para Python.

Para aquellos usuarios de GNU/linux que por defecto no tengan instalado TKinter, tan sólo tienen que instalar el paquete "python-tk":

Ubuntu/Debian: "sudo apt-get install python-tk"

Fedora/red hat: "sudo yum install python-tk"

Activando los modulos de TK

Para activar los modulos de TK, se utiliza la siguiente linea:

Código:
from Tkinter import *

Tambien se puede escribir:

Código:
import Tkinter

Pero comunmente se utiliza como la primera.

Creando un formulario (vacío)

Para crear los forms, primero importaremos la libreria Tkinter.

Código:
from Tkinter import *

Y luego ponemos:

Código:
ventana = Tk()

En donde ventana es un nombre abstracto que podemos ponerle a eleccion.
Tk lo que hace es iniciar un objeto widget.
Y ya esta, ya tenemos una ventana funcional que podemos mover, redimensionar, cerrar, minimizar.

Curso Introductorio a Python con Interfaces graficas TK Mb9zx

Para finalizar debemos poner:

Código:
ventana.mainloop()

Lo que hacemos es finalizar el objeto antes iniciado. Mainloop es el encargado de manejar y manipular todos los eventos que ocurran durante el codigo.

Ejemplo Hola Mundo

Como en la mayoria de los lenguajes se empieza con el ejemplo comun de Hola Mundo, lo vamos a emplear aqui tambien :)

Importamos la libreria Tkinter:

Código:
from Tkinter import *

Creamos una ventana

Código:
ventana = Tk()

Ahora usaremos la clase label del tkinter que sirve para añadir un titulo a la ventana. El formato basico es:

Código:
titulo= Label(parent, opcion1="valor", opcion2="valor"....)

Toda clase de Tkinter, debe tener un "parent", es decir, un "padre", o como lo quieran llamar, y se indica en el argumento "parent" del constructor. Los argumentos "opcion1", "opcion2", son otros datos para especificar bordes, colores, relleno.

Código:
holamundo = Label(ventana, text="¡Hola Mundo!", fg="cyan", bg="blue")

La opción "fg" sirve para indicar el color del texto, y "bg" el color de fondo de la ventana.

Pero despues de esto, si notan no sale nada.
Porque después de crear cualquier objeto Tkinter, se debe de "posicionar", por así decirlo, en la ventana, para ello se puede utilizar el método "pack" o "grid".
Pack: hace un autoajuste y lo coloca donde el desea.
Grid: puedes elegir columnas, lineas, etc.

Curso Introductorio a Python con Interfaces graficas TK CpbW2

Y para finalizar le ponemos:

Código:
ventana.mainloop()

Botones

Los buttons, sirven para efectuar una función.
Esa función se declara antes con def(): y despues se introduce una subfuncion en el button llamada command.

La sintaxis seria:

Código:
nombre = Button(ventana, texto del boton, comando de funcion, tamaño de ancho y/o alto)

El texto del boton, es el tipico "label" que saldra en un boton, por ejemplo si queremos que el boton ponga "Aceptar" escribiremos:

Código:
Button(... text="Aceptar" ...)

Para el comando de función, antes de nada, tenemos que crear la función que queremos con lambda o def.
Recordemos la sintaxis de una funcion:

Código:
def nombre de la funcion():
    codigo de la funcion

Y dentro de la declaracion pondriamos asi:

Código:
Button(... command=nombre de la funcion ...)

Veamos un ejemplo:

Código:
from Tkinter import *
def holamundo():
  holamundolbl = Label(root, text="Hola Mundo")
  holamundolbl.grid(row=2, column=1)
root = Tk()
holamundo = Button(root, text="Activar Hola Mundo",command=holamundo, width=20)
holamundo.grid(row=1, column=1)
root.mainloop()

Imagenes:

Curso Introductorio a Python con Interfaces graficas TK Stfan

Curso Introductorio a Python con Interfaces graficas TK HdPxh

Textbox

La declaración del textbox es:

Código:
el_nombre_de_nuestro_textbox = Entry(ventana, opcion1="valor" ...)

Implementemoslo:

Curso Introductorio a Python con Interfaces graficas TK OyQGM

Tambien podemos usar una variable de String para almacenar el valor que se introduce en el textbox.
Primero declaramos la variable:

Código:
variable_string = StringVar()

Y luego nuestro textbox:

Código:
el_nombre_de_nuestro_textbox = Entry(ventana, textvariable=variable_string)

De esta manera, nuestro textbox cuando escribamos almacenara ese texto en la variable variable_string.
Para utilizar las variables de string de los TextBox, cuando empleemos ese contenido, tendremos que hacerlo incluyendo .get() al final.

Código:
variable_String.get()

CheckBox

La sintaxis para los checkbox es:

Código:
nombre_de_mi_check = CheckButton(ventana, text="lo que sale al lado", opcion2="valor", ...)

Analogamente como en el caso anterior podriamos crear una variable int para guardar el estado del checkbox.

Ejemplo:

Código:
from Tkinter import *
def verificar():
   if variable.get():
      print "El checkbutton fue seleccionado"
   else:
      print "El checkButton no fue seleccionado"   
ventana = Tk()
variable = IntVar()
check = Checkbutton(ventana, text="Seleccionado/No seleccionado", var=variable)
cm = Button(ventana, text="Verificar", command=verificar, width=20)
check.grid()
cm.grid()
ventana.mainloop()

Curso Introductorio a Python con Interfaces graficas TK QED4l

Curso Introductorio a Python con Interfaces graficas TK BSJUD

Textarea y scrollbar

Primero, la sintaxis de un textarea:

Código:
<nombre_del_textarea> = Text(<identificador>, height=h, width=w)

El <nombre_del_textarea> sera la variable que defina el textarea, donde Text es el nombre del widget con el que identificamos, el <identificador> es el identificador TK que declaramos al inicio, height=h es la altura de largo y width=w de ancho.

Con eso cumplimos los requisitos básicos del widget, pero tendriamos un problema, al añadir mucho contenido de texto, perdiriamos el hilo, pues no tenemos un objeto en todo caso un scrollbar que nos suba o nos baje para ver todo el texto, para eso usaremos un scrollbar, su sintaxis es:

Código:
<nombre_del_scrollbar> = Scrollbar(<identificador>, command=<nombre_del_textarea>.<funcion_de_vista>)

Donde nombre del scrollbar ponemos la variable que guarda nuestro widget, la palabra Scrollbar identifica como scrollbar nuestro objeto, el identificador es el identificador TK que declaramos anteriormente, <nombre_del_textarea> seria el nombre de la variable que usamos anterior mente y luego separado por un punto <funcion_de_vista>, puede ser X o Y.

Ahora tenemos de configurar al textarea indicandole que tiene un scrollbar preparado, ¿como lo hacemos? con la funcion configure:

Código:
<nombre_del_textarea>.configure(yscrollcommand=<nombre_del_scrollbar>.set)

Donde nombre del textarea ponemos el nombre de la variable y donde nombre del scrollbar idem, pero con el del scrollbar.

Y por ultimo, declaramos las posiciones de inicio de nuestros objetos, primero el textarea, le indicamos que señalara que el textarea se pondra a la izquierda (<):

Código:
<nombre_del_textarea>.pack(side=LEFT)

donde nombre del textarea ponemos la variable, y como veis con pack indicamos la fijación de lugar y con side la posicion.

Y con el scrollbar, algo parecido:

Código:
<nombre_del_scrollbar>.pack(side=RIGHT, fill=Y)

En el nombre del scrollbar el nombre de la variable, con el pack fijamos el lugar, con side indicamos que ira a la derecha del textarea y con fill indicamos si sera horizontal o vertical.

Veamos un Ejemplo:

Código:
from Tkinter import *
ventana = Tk()
textarea = Text(ventana, height=20, width=40)
scroll = Scrollbar(ventana, command=textarea.yview)
textarea.configure(yscrollcommand=scroll.set)
textarea.pack(side=LEFT)
scroll.pack(side=RIGHT, fill=Y)
ventana.mainloop()

Curso Introductorio a Python con Interfaces graficas TK TUuOu

Para finalizar, un ejemplo que abarque varias cosas. :)

Curso Introductorio a Python con Interfaces graficas TK ZSrn5

Espero que les haya gustado.

Creditos: Erik#
Tome un tutorial base de el y le agregue imagenes para que se vea mejor, entre otras cosas.

Saludos

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.