0% encontró este documento útil (0 votos)
17 vistas9 páginas

Apuntes GUI IDLE

El documento proporciona una guía sobre el uso de Tkinter, una biblioteca de Python para crear interfaces gráficas de usuario. Se describen los módulos y widgets básicos de Tkinter, así como ejemplos de código para la creación de ventanas y la gestión de la geometría. También se incluyen diálogos preestablecidos para la entrada del usuario y se ofrecen enlaces para complementar el aprendizaje.

Cargado por

said hayabusa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas9 páginas

Apuntes GUI IDLE

El documento proporciona una guía sobre el uso de Tkinter, una biblioteca de Python para crear interfaces gráficas de usuario. Se describen los módulos y widgets básicos de Tkinter, así como ejemplos de código para la creación de ventanas y la gestión de la geometría. También se incluyen diálogos preestablecidos para la entrada del usuario y se ofrecen enlaces para complementar el aprendizaje.

Cargado por

said hayabusa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

IDLE (abreviatura de Integrated Development and Learning Environment

Link para comprensión de tkinter


https://www.youtube.com/watch?v=mOkdJ9DeSUw

Tkinter: Es la librería que se utiliza para la elaboración de la


elaboración de Interfaces Gráficas de Usuario (GUI Graphics User
Interface).
Esta viene de forma predefinida cuando se descarga Python, pero se
puede descargar de forma particular de mediante el comando >>
pip install tk
Para revisar la versión de Tkinter instalado es en el ILDE:
>>> import Tkinter
>>> print(tkinter.TkVersion)
En modo dos, en cmd
C://usuario//~ % Python3 -m tkinter.

MÓDULOS DE TKINTER
Tkinter - Módulo principal de Tkinter.
Tkinter.colorchooser - Diálogo para que el usuario elija un color.
Tkinter.commondialog - Clase base para los diálogos definidos en
los otros módulos enumerados aquí.
Tkinter.filedialog – Son Diálogos comunes para permitir al usuario
especificar un archivo para abrir o guardar.
Tkinter.font - Utilidades para ayudar a trabajar con fuentes.
Tkinter.messagebox - Acceso a los cuadros de diálogo Tk estándar.
Tkinter.scrolledtext - Widget de texto con una barra de
desplazamiento vertical incorporada.
Tkinter.simpledialog - Diálogos básicos y funciones de
conveniencia.
Tkinter.ttk - Conjunto de widgets temáticos introducido en Tk 8.5,
que proporciona alternativas modernas para muchos de los widgets
clásicos en el módulo principal de tkinter.

WIDGETS O CONTROLES BÁSICOS DE Tk


Nombre con el que se le conocen a los controles que se emplean en
las GUI.

1 Button
El widget Botón se utiliza para mostrar los botones de su aplicación.

2 Canvas
El widget Canvas se utiliza para dibujar formas, como líneas, óvalos,
polígonos y rectángulos, en su aplicación.
3 Checkbutton
El widget Checkbutton se utiliza para mostrar una serie de opciones
como casillas de verificación. El usuario puede seleccionar varias
opciones a la vez.

4 Entry
El widget de entrada se utiliza para mostrar un campo de texto de una
sola línea para aceptar valores de un usuario.

5 Frame
El widget Frame se utiliza como un widget contenedor para organizar
otros widgets.

6 Label
El widget Etiqueta se utiliza para proporcionar un título de una sola línea
para otros widgets. También puede contener imágenes.

7 Listbox
El widget Listbox se utiliza para proporcionar una lista de opciones a un
usuario.

8 Menubutton
El widget Menúbutton se utiliza para mostrar menús en su aplicación.

9 Menu
El widget Menú se utiliza para proporcionar varios comandos a un
usuario. Estos comandos están contenidos dentro del botón de menú.

1 Message
0 El widget de mensaje se utiliza para mostrar campos de texto de varias
líneas para aceptar valores de un usuario.

1 Radiobutton
1 El widget de botón de radio se utiliza para mostrar una serie de opciones
como botones de radio. El usuario puede seleccionar solo una opción a la
vez.

1 Scale
2 El widget de escala se utiliza para proporcionar un widget deslizante.

1 Scrollbar
3 El widget de la barra de desplazamiento se utiliza para añadir capacidad
de desplazamiento a varios widgets, como los cuadros de lista.

1 Text
4 El widget Texto se utiliza para mostrar texto en varias líneas.
1 Toplevel
5 El widget Toplevel se utiliza para proporcionar un contenedor de ventana
separado.

1 Spinbox
6 El widget Spinbox es una variante del widget estándar de Tkinter Entry,
que se puede utilizar para seleccionar entre un número fijo de valores.

1 PanelWindows
7 Un PanedWindow es un widget de contenedor que puede contener
cualquier número de paneles, dispuestos horizontal o verticalmente.

1 LabelFrame
8 Un marco de etiquetas es un simple widget de contenedor. Su propósito
principal es actuar como un espaciador o contenedor para diseños de
ventanas complejos.

1 tkMessageBox
9 Este módulo se utiliza para mostrar cuadros de mensajes en sus
aplicaciones.

WIDGETS MEJORADOS MÓDULO TTK

El término ttk proviene de los widgets temáticos de Tk. El módulo ttk


se introdujo con Tk 8.5 en adelante. Proporciona beneficios
adicionales, incluida la representación de fuentes antialias bajo X11 y
la transparencia de la ventana. Proporciona soporte de temática y
estilo para Tkinter. Contiene 18 widgets, 12 correspondientes a Tk,
que sobrescribe con sus nuevas propiedades, con 6 extra.
Para usar los Widgets TTK se importan después del Import de Tk.

from tkinter import *


from tkinter.ttk import *

1 Notebook
Este widget gestiona una colección de "pestañas" entre las que puede
intercambiar, cambiando la ventana que se muestra actualmente.

2 ProgessBar
Utilizado para mostrar el progreso de carga mediante el uso de
animaciones.

3 Separator
Se utiliza para separar diferentes widgets usando una línea separadora..

4 Treeview
Este widget se utiliza para agrupar elementos en una jerarquía similar a
un árbol. Cada elemento tiene una etiqueta textual, una imagen opcional
y una lista opcional de valores de datos..

5 ComboBox
Se utiliza para crear una lista desplegable de opciones de las que el
usuario puede seleccionar una.

6 Sizegrip
Crea un pequeño asa cerca de la parte inferior derecha de la pantalla,
que se puede utilizar para cambiar el tamaño de la ventana.

Ejecución Básica de Ventana Principal

from tkinter import *

class GenerarGUI():

def __init__(self):
ventana = Tk()
ventana.title("Topicos Avanzados de Programación")
ventana.geometry("500x200")
ventana.mainloop()

GenerarGUI()

import tkinter as tk

ventana = tk.Tk()
ventana.title("Topicos Avanzados de Programación")
ventana.geometry("500x200")
ventana.mainloop()

from tkinter import *

import tkinter as tk

class Application(tk.Frame):

def __init__(self,ventana_principal):
super().__init__(ventana_principal)
ventana_principal.geometry("400x300")
ventana_principal.title("Tópicos Avanzados de Programación")

ventana = Tk()
#ventana.geometry("840x300") #EL TAMAÑO SE PUEDE PONER DESDE AQUI
objAplic = Application(ventana)
objAplic.mainloop()

Administración de la Geometría:
Es la administración o gestión que se hace de la venta y tiene tres
métdos de opción:
 pack()
Administración organiza los widgets en bloques antes de
colocarlos en el widget principal..
 grid()
Esta administrador organiza los widgets en una estructura similar
a una tabla en el widget principal.
 place()
Esta administrador orgnaniza los widgets colocándolos en una
posición específica en el widget principal.

import tkinter as tk

root = tk.Tk()
root.title("Ejemplo con pack()")
root.geometry("700x200")

tk.Label(root, text="Arriba", bg="red", fg="white").pack(fill="x")


tk.Label(root, text="Abajo", bg="green", fg="white").pack(fill="x",
side="bottom")
tk.Label(root, text="Segundo Renglon", bg="black",
fg="white").pack(fill="y",side="left")
tk.Label(root, text="Tercer Renglon", bg="red",
fg="white").pack(fill="y",side="left")

tk.Label(root,
text="Derecha",bg="pink",fg="black").pack(fill="y",expand=False,
side="right")
tk.Button(text="Boton1").pack()
tk.Button(text="Boton2").pack()
tk.Label(root, text="Izque", bg="blue", fg="white").pack(side="left")
tk.Button(text="Boton3").pack(side="left")
tk.Entry().pack()
tk.Entry().pack()

# El acomodo puede ser side top, left y rigth,


#intercambia los valores de los label, puede poner otros elementos
#Agrega y quita elementos al pack

root.mainloop()

import tkinter as tk

root = tk.Tk()
root.title("Ejemplo con grid()")
root.geometry("300x200")
tk.Label(root, text="Usuario:").grid(row=0, column=0, padx=5, pady=5)
tk.Entry(root).grid(row=0, column=1, padx=5, pady=5)
tk.Label(root, text="Contraseña:").grid(row=1, column=0, padx=5,
pady=5)
tk.Entry(root, show="*").grid(row=1, column=1, padx=5, pady=5)
tk.Button(root, text="Iniciar Sesión").grid(row=2, column=0,
columnspan=2, pady=10)
root.mainloop()

'''
#prueba este otro ejemplo, y cambia los valores del primer ejemplo para
colocar en el primer renglón

import tkinter as tk
root = tk.Tk()
root.title("Ejemplo con grid()")
root.geometry("300x200")
tk.Label(root, text="Fila 0, Col 0", bg="lightblue").grid(row=0,
column=0)
tk.Label(root, text="Fila 0, Col 1", bg="lightgreen").grid(row=0,
column=1)
tk.Label(root, text="Fila 1, Col 0", bg="lightcoral").grid(row=1,
column=0, columnspan=2, sticky="ew")
root.mainloop()
'''

import tkinter as tk

root = tk.Tk()
root.title("Ejemplo con place()")
root.geometry("300x200")
tk.Label(root, text="Texto 1", bg="red").place(x=50, y=20, width=100,
height=30)
tk.Label(root, text="Texto 2", bg="blue").place(x=100, y=70, width=100,
height=30)
tk.Label(root, text="Texto 3", bg="green").place(x=150, y=120,
width=100, height=30)
root.mainloop()
# Agrega elementos como botones y Entradas y label para practicar el
diseño

'''
#Ejemplo 2 con posición absoluta place
import tkinter as tk
root = tk.Tk()
root.title("Ejemplo con place()")
root.geometry("300x200")
tk.Label(root, text="Etiqueta 1", bg="yellow").place(x=50, y=50)
tk.Label(root, text="Etiqueta 2", bg="orange").place(x=100, y=100)
tk.Label(root, text="Etiqueta 3", bg="pink").place(x=150, y=150)
root.mainloop()
'''

Complementa tu aprendizaje en:


https://recursospython.com/guias-y-manuales/posicionar-elementos-en-
tkinter/
Cuadros de Dialogo Básicos Preestablecidos:

Diálogo simple
El módulo simpledialog en el paquete tkinter incluye una clase de
diálogo y funciones de conveniencia para aceptar la entrada del usuario
a través de un diálogo modal. Consiste en una etiqueta, un widget de
entrada y dos botones Aceptar y Cancelar. Estas funciones son:

 askfloat(title, prompt, **kw) : Acepta un número flotante


 askinteger(title, prompt, **kw): Acepta un núermo entero
 askstring(title, prompt, **kw): Acepta un texto ingresado por el
usuario

Copia este código y prueba su ejecución

from tkinter.simpledialog import askinteger


from tkinter import *
top = Tk()
top.geometry("190x150")
def show():
num = askinteger("Input", "Introduce un numero entero")
print(num)
B = Button(top, text ="Click", command = show)
B.place(x=50,y=50)
top.mainloop()

from tkinter.simpledialog import askfloat


from tkinter import *
top = Tk()
top.geometry("190x150")
def show():
num = askfloat("Input", "Ingresa un numero flotante")
print(num)
B = Button(top, text ="Click", command = show)
B.place(x=50,y=50)
top.mainloop()

from tkinter.simpledialog import askstring


from tkinter import *

top = Tk()

top.geometry("190x100")
def show():
name = askstring("Input", "Enter you name")
print(name)

B = Button(top, text ="Click", command = show)


B.place(x=50,y=50)

top.mainloop()

También podría gustarte