TECNOLOGICO NACIONAL DE MEXICO
INSITITUTO TECNOLOGICO DE LAZARO CARDENAS
INGENIERIA ELECTRONICA
TRABAJO: CODIGOS DE ALARMA Y CAMBIO DE COLOR
PROGRAMACION VISUAL
PROFESOR: JESUS FELIPE VAZQUEZ BARRIOS
ALUMNA: MARIA JENNIFER CARBAJAL MARTINEZ
NUMERO DE CONTROL: 21560304
Cd. Lázaro Cárdenas, Mich. A 30 de marzo de 2023
Introducción
En el siguiente documento se hará el desarrollo de dos programas, una alarma y un programa
que cambia de color la ventana al ser introducido el valor hexadecimal de dicho color.
El funcionamiento de la alarma consiste en mostrar la hora real en la ventana y además de
que su funcionamiento principal será que sonará una alarma a la hora en la que el usuario lo
desee.
El programa de cambio de colores constara de tres entradas en las cuales se teclearán 6 dígitos
numéricos del 1 al 9 o letras de la A a la F. Y el color de la ventana cambiara al color que se
forme con estas combinaciones.
Enseguida se mencionarán las partes más importantes del desarrollo de estos programas y
además al final se podrá encontrar el link de GitHub donde fueron subidos dichos programas.
PROGRAMA 1. CAMBIO DE COLORES
1. Para este programa se necesitaron usar las siguientes librerías:
from tkinter import *
from tkinter import messagebox as messageBox
from tkinter import ttk
from tkinter import colorchooser as colorChooser
El módulo tkinter. colorchooser proporciona la clase Chooser como una interfaz para
el diálogo del selector de color nativo. Chooser implementa una ventana de diálogo
de elección de color modal.
2. Se hace uso de las siguientes líneas de código las cuales son los condicionales para
que se introduzcan únicamente 6 dígitos en las entradas, de lo contrario si se
introducen mas de 6 dígitos el programa desplegara el mensaje que dirá que fueron
introducidos demasiados números, o si se introducen menos de 6 dígitos, el programa
desplegara el mensaje que dirá que hay muy pocos números. En caso de que los
dígitos sean los requeridos, se correrá el programa de manera correcta.
def Cam():
print("#"+[Link]()+[Link]()+[Link]())
x=[Link]()+[Link]()+[Link]()
if len(x)>6:
[Link](text=f'Demasiados numeros')
elif len(x)<6:
[Link](text=f'Muy pocos numeros')
else:
[Link](bg=("#"+[Link]()+[Link]()+colorrs3.
get())
3. Enseguida se asignan las variables de los colores como tipo de dato Stringvar el cual
permite meter o visualizar una línea de texto simple.
colorrs=StringVar()
colorrs2=StringVar()
colorrs3=StringVar()
4. Se crean las etiquetas de cada variable con ayuda del label el cual representa una
etiqueta para un elemento en una interfaz de usuario. Y haciendo uso del método
grid que nos permite posicionar los widgets en una celda en específico.
Rojo=Label(ventanaPrincipal,text="Rojo",font=("Aurora",20))
[Link](row=3,column=1,padx=5,pady=5)
primercolor=Entry(ventanaPrincipal,textvariable=colorrs,font=("Aurora"
,10))
[Link](row=3,column=2,padx=5,pady=5)
verde=Label(ventanaPrincipal,text="verde",font=("Aurora",20))
[Link](row=6,column=1,padx=5,pady=5)
segundocolor=Entry(ventanaPrincipal,textvariable=colorrs2,font=("Auror
a",10))
[Link](row=6,column=2,padx=5,pady=5)
Azul=Label(ventanaPrincipal,text="Azul",font=("Aurora",20))
[Link](row=9,column=1,padx=5,pady=5)
tercercolor=Entry(ventanaPrincipal,textvariable=colorrs3,font=("Aurora
",10))
[Link](row=9,column=2,padx=5,pady=5)
5. Por ultimo se crea un botón con Button y al hacer clic sobre este botón Tkinter se
encargara de llamar automáticamente la función “cam” y ejecutara el código Python
contenido dentro de este.
CamColor=Button(ventanaPrincipal,text="Cambiar
color",font=("Aurora",15),command=Cam)
[Link](row=13,column=2,padx=5,pady=5)
Bott = Label(ventanaPrincipal, text="", font=("Aurora",15))
[Link](row=15, column=2, padx=10, pady=10)
LINK DEL PROGRAMA EN GITHUB:
[Link]
PROGRAMA 2: ALARMA
1. Para este programa se hizo uso de las siguientes librerías:
from tkinter import *
from tkinter import ttk
import tkinter as tk
import time
import pygame, sys
from [Link] import *
root = Tk()
[Link]()
La librería Pygame está basada en SDL, que es una librería que nos provee acceso de
bajo nivel al audio, teclado, ratón y al hardware gráfico de nuestro ordenador. Y se
hace uso de la librería time, esta función nos permite cronometrar la duración de un
intervalo de tiempo.
2. Enseguida se declaran variables y se hace uso de El método pack() en la ventana
esto es un tipo de posicionamiento para los widgets que ajusta todos los elementos
acomodándolos entre sí, para luego hacer la ventana raíz tan grande para contener
todos estos elementos.
hour=StringVar()
min=StringVar()
Vent = Frame(root, bg="#CCCCFF")
[Link](fill='both', expand=1)
[Link]("600x550")
3. Se hace uso del label para las etiquetas que tendrá la ventana y se posicionan con un
respectivo color y se usa una función place() permite ubicar a los elementos
indicando su posición (X e Y) respecto de un elemento padre.
Tit = Label(Vent, text="ALARM", font=("Aurora",20, "bold"),
bg="#CCCCFF")
[Link](relx=0.35,rely=0.05)
Eti = Label(Vent, text="Hora", font=("Aurora",20), bg="#CCCCFF")
[Link](relx=0.15, rely=0.15)
Ehour = Entry(Vent, textvariable=hour).place(relx=0.35, rely=0.15)
Etimin = Label(Vent, text="Min", font=("Aurora",20),bg="#CCCCFF")
[Link](relx=0.15, rely=0.21)
entradaminutos = Entry(Vent, textvariable=min).place(relx=0.35,
rely=0.21)
bottonAlarm = Button(Vent, text="Alarma",
font=("Aurora",20)).place(relx=0.30, rely=0.55)
4. Por ultimo se define la función tiempo que es donde se escriben las líneas de código
para que se le pida al usuario teclear la hora de la alarma y se compara con la hora
real y en el momento en que la hora real sea la misma que la hora introducida por el
usuario se active sonando la música.
def tiempo():
horas = [Link]("%H")
minutos = [Link]("%M")
segundos = [Link]("%S")
horaLocal = horas + ":" + minutos + ":" + segundos
[Link](text=horaLocal)
[Link](2000, tiempo)
alarmHour = [Link]()
alarmMin = [Link]()
if horas == alarmHour and minutos == alarmMin and segundos == "00":
[Link](bg="#FF6666")
[Link](bg="#FF6666")
[Link](bg="#FF6666")
[Link](bg="#FF6666")
[Link](bg="#FF6666")
Etiquetas = Label(root, text="", font=("Aurora", 20,
"bold"),bg="#CCCCFF")
[Link](relx=0.30, rely=0.35)
tiempo()
[Link]()
LINK DEL PROGRAMA EN GITHUB:
[Link]