From cf745e8c8d7abd420270aec8c6db42f4a55965dd Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Tue, 23 Jan 2024 21:21:18 +0100 Subject: [PATCH] Add library exercises --- .../08_librerias/08_tkinter_05_frame.py | 23 +++++++++++++ .../08_librerias/08_tkinter_06_canvas.py | 23 +++++++++++++ .../08_librerias/08_tkinter_07_menu.py | 32 +++++++++++++++++++ .../08_librerias/08_tkinter_08_messagebox.py | 23 +++++++++++++ .../08_librerias/08_tkinter_09_filedialog.py | 23 +++++++++++++ 5 files changed, 124 insertions(+) create mode 100644 python-ofensivo/08_librerias/08_tkinter_05_frame.py create mode 100644 python-ofensivo/08_librerias/08_tkinter_06_canvas.py create mode 100644 python-ofensivo/08_librerias/08_tkinter_07_menu.py create mode 100644 python-ofensivo/08_librerias/08_tkinter_08_messagebox.py create mode 100644 python-ofensivo/08_librerias/08_tkinter_09_filedialog.py diff --git a/python-ofensivo/08_librerias/08_tkinter_05_frame.py b/python-ofensivo/08_librerias/08_tkinter_05_frame.py new file mode 100644 index 0000000..6405495 --- /dev/null +++ b/python-ofensivo/08_librerias/08_tkinter_05_frame.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +""" +Librería tkinter - Frame() Widget + +""" + +import tkinter as tk + +root = tk.Tk() +root.geometry("300x300") +root.title("Frame() Widget") + +# Crear un frame +frame = tk.Frame(root, bg="blue", bd=5, relief=tk.SUNKEN) +frame.place(relx=0.5, rely=0.5, anchor=tk.CENTER) + +label1 = tk.Label(frame, text="Primero y tal", bg="green", fg="white") +label2 = tk.Label(frame, text="Segundo label", bg="red", fg="white") + +label1.pack(fill=tk.X) +label2.pack(fill=tk.X) + +root.mainloop() diff --git a/python-ofensivo/08_librerias/08_tkinter_06_canvas.py b/python-ofensivo/08_librerias/08_tkinter_06_canvas.py new file mode 100644 index 0000000..2a03f74 --- /dev/null +++ b/python-ofensivo/08_librerias/08_tkinter_06_canvas.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +""" +Librería tkinter - Canvas() Widget + +""" + +import tkinter as tk + +root = tk.Tk() +root.geometry("300x300") +root.title("Canvas() Widget") + +# Crear un Canvas +canvas = tk.Canvas(root, width=250, height=250, bg="white") +canvas.pack(pady=20) + +oval = canvas.create_oval(10, 10, 100, 100, fill="red") + +rect = canvas.create_rectangle(150, 100, 240, 10, fill="blue") + +line = canvas.create_line(10, 200, 100, 220, width=3, fill="green") + +root.mainloop() diff --git a/python-ofensivo/08_librerias/08_tkinter_07_menu.py b/python-ofensivo/08_librerias/08_tkinter_07_menu.py new file mode 100644 index 0000000..dc84274 --- /dev/null +++ b/python-ofensivo/08_librerias/08_tkinter_07_menu.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 +""" +Librería tkinter - Menu() Widget + +""" + +import tkinter as tk +from tkinter import messagebox as mb + +def accion_menu(): + mb.showinfo("Información", "Este texto forma parte de un menú de opciones") + +root = tk.Tk() +root.geometry("300x300") +root.title("Menu() Widget") + +# Crear un menú +barra_menu = tk.Menu(root) +root.config(menu=barra_menu) + +menu1 = tk.Menu(barra_menu, tearoff=0) +barra_menu.add_cascade(label="Menú", menu=menu1) + +menu1.add_command(label="Opción 1") +menu1.add_command(label="Opción 2") + +menu2 = tk.Menu(barra_menu, tearoff=0) +barra_menu.add_cascade(label="Ayuda", menu=menu2) + +menu2.add_command(label="Acerca de...", command=accion_menu) + +root.mainloop() diff --git a/python-ofensivo/08_librerias/08_tkinter_08_messagebox.py b/python-ofensivo/08_librerias/08_tkinter_08_messagebox.py new file mode 100644 index 0000000..c1e7a46 --- /dev/null +++ b/python-ofensivo/08_librerias/08_tkinter_08_messagebox.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +""" +Librería tkinter - messagebox + +""" + +import tkinter as tk +from tkinter import messagebox as mb + + +def accion_boton(): + mb.showinfo("Información", + "Este texto ha salido porque has pulsado el botón") + + +root = tk.Tk() +root.geometry("150x80") +root.title("Button() Widget & messagebox") + +boton = tk.Button(root, text="ClickMe", command=accion_boton) +boton.pack(pady=10) + +root.mainloop() diff --git a/python-ofensivo/08_librerias/08_tkinter_09_filedialog.py b/python-ofensivo/08_librerias/08_tkinter_09_filedialog.py new file mode 100644 index 0000000..4470f2b --- /dev/null +++ b/python-ofensivo/08_librerias/08_tkinter_09_filedialog.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +""" +Librería tkinter - filedialog + +""" + +import tkinter as tk +from tkinter import filedialog as fd + + +def abrir_archivo(): + ruta_archivo = fd.askopenfilename() + print(f"[+] Ruta del archivo seleccionado: {ruta_archivo}") + + +root = tk.Tk() +root.geometry("150x80") +root.title("Button() Widget & messagebox") + +boton = tk.Button(root, text="Abrir archivo", command=abrir_archivo) +boton.pack(pady=10) + +root.mainloop()