0% encontró este documento útil (0 votos)
14 vistas8 páginas

Lab 10

El documento describe un laboratorio de desarrollo de software en el que se exploran diferentes métodos de la biblioteca Tkinter en Python, incluyendo la creación de una calculadora básica. Se abordan métodos como title(), iconbitmap(), y showinfo(), así como la interacción con el usuario a través de cuadros de diálogo. Además, se presentan actividades prácticas que implican la modificación de código y la captura de salidas de la aplicación.
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas8 páginas

Lab 10

El documento describe un laboratorio de desarrollo de software en el que se exploran diferentes métodos de la biblioteca Tkinter en Python, incluyendo la creación de una calculadora básica. Se abordan métodos como title(), iconbitmap(), y showinfo(), así como la interacción con el usuario a través de cuadros de diálogo. Además, se presentan actividades prácticas que implican la modificación de código y la captura de salidas de la aplicación.
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 PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

FACULTAD DE INGENIERÍA ELÉCTRICA, ELECTRÓNICA

INFORMÁTICA Y MECÁNICA INGENIERÍA INFORMÁTICA Y DE SISTEMAS

TEMA:
Laboratorio N°10

CURSO: Desarrollo de Software I

DOCENTE: EDGAR QUISPE CCAPACCA

ALUMNO:

Pantoja Olave Gustavo 210939

SEMESTRE: 2024 – II
CUSCO
Actividades
Actividad 1
Para cada pregunta, tome como punto de partida el código anterior, agregue los siguientes
códigos y responda las preguntas correspondientes.

a) ¿Para qué sirve el método title()?


El método title() de la clase Tk() se utiliza para establecer el título de la ventana
principal. En este caso, el título de la ventana se establece como "Calculadora básica". Esto
significa que en la barra superior de la ventana, aparecerá ese texto como el nombre de la
aplicación.

b) ¿Para qué sirve el método iconbitmap()?


El método iconbitmap() se usa para cambiar el icono de la ventana de la aplicación. El
icono es lo que aparece en la esquina superior izquierda de la ventana (o en la barra de
tareas si estás en Windows). Aquí, se está intentando usar un archivo llamado
"img/calculadora.ico" como el icono de la aplicación.

c) ¿Qué otras extensiones de archivo acepta el método iconbitmap?


El método iconbitmap() generalmente acepta archivos con la extensión .ico, que es el
formato de icono para Windows. No acepta otros formatos como .png o .jpg
directamente. Si se quieren usar otros tipos de imágenes como iconos, se pueden utilizar
bibliotecas adicionales o métodos alternativos, como convertir la imagen a formato .ico o
usar la biblioteca PIL (Python Imaging Library) para manejar otros formatos.

d) Capture la salida del programa

Actividad 2

a) Explique ¿Qué hace showinfo()?


El método showinfo() pertenece al módulo tkinter.messagebox. Este método abre un
cuadro de diálogo de información, mostrando un mensaje al usuario con un título y un texto
descriptivo.

b) Muestre una captura de pantalla de la salida

c) Explique brevemente el atributo command


El atributo command de un botón en Tkinter se utiliza para asociar una función o método
que se ejecutará cuando el botón sea presionado.

d) sustituya showinfo() por showwarning(). Muestre una captura de la salida.


Anote los cambios

El icono del mensaje cambio a un símbolo de peligro

e) sustituya showinfo() por showerror(). Muestre una captura de la salida. Anote


los cambios

El ícono del mensaje cambio a un símbolo de error

Actividad 3

3. Pruebe el código anterior, sustituya showinfo respectivamente por: askquestion,


askyesno, askretrycancel, askkyesnocancel y askokcancel.
a) Capture una pantalla de la salida en cada caso.
1. askquestion():

2. askyesno()

3. askretrycancel()

4. askyesnocancel()

5. askokcancel()
b) Anote la diferencia en cada caso

askquestion(): Retorna "yes" o "no". Es útil cuando necesitas una respuesta textual.

askyesno(): Similar a askquestion(), pero retorna un booleano (True/False).

askretrycancel(): Retorna True para "Retry" y False para "Cancel". Se usa cuando el
usuario puede decidir reintentar o cancelar una operación.

askyesnocancel(): Proporciona tres opciones: "Yes", "No", o "Cancel". Retorna True,


False o None.

askokcancel(): Proporciona dos opciones: "OK" o "Cancel", con un retorno booleano


(True para "OK", False para "Cancel").

Actividad 4
4. Pruebe el siguiente código

El resultado de este código es una caja de texto (Entry) de ancho considerable, colocada
en la parte superior de la ventana (fila 0)

Actividad 5

from tkinter import *

# Crear ventana principal


root = Tk()
root.title("Calculadora")
root.iconbitmap("DS/img/calculadora.ico")

# Crear la pantalla de la calculadora


pantalla = Entry(root, width=15, bg="black", fg="white", borderwidth=0,
font=('arial', 18, 'bold'))
pantalla.grid(row=0, column=0, columnspan=4, padx=2, pady=2)

# Definir el tamaño de los botones


button_width = 5
button_height = 2

# Función para manejar las pulsaciones de los botones


def click(boton):
contenido_actual = pantalla.get()
pantalla.delete(0, END)
pantalla.insert(END, contenido_actual + str(boton))

# Crear botones

# Fila 1
boton1 = Button(root, text='1', width=button_width,
height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('1'))
boton1.grid(row=1, column=0, padx=1, pady=1)

boton2 = Button(root, text='2', width=button_width,


height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('2'))
boton2.grid(row=1, column=1, padx=1, pady=1)

boton3 = Button(root, text='3', width=button_width,


height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('3'))
boton3.grid(row=1, column=2, padx=1, pady=1)

boton_suma = Button(root, text='+', width=button_width,


height=button_height, bg='cyan', fg="black", font=('arial', 18,
'bold'), command=lambda: click('+'))
boton_suma.grid(row=1, column=3, padx=1, pady=1)

# Fila 2
boton4 = Button(root, text='4', width=button_width,
height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('4'))
boton4.grid(row=2, column=0, padx=1, pady=1)
boton5 = Button(root, text='5', width=button_width,
height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('5'))
boton5.grid(row=2, column=1, padx=1, pady=1)

boton6 = Button(root, text='6', width=button_width,


height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('6'))
boton6.grid(row=2, column=2, padx=1, pady=1)

boton_resta = Button(root, text='-', width=button_width,


height=button_height, bg='cyan', fg="black", font=('arial', 18,
'bold'), command=lambda: click('-'))
boton_resta.grid(row=2, column=3, padx=1, pady=1)

# Fila 3
boton7 = Button(root, text='7', width=button_width,
height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('7'))
boton7.grid(row=3, column=0, padx=1, pady=1)

boton8 = Button(root, text='8', width=button_width,


height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('8'))
boton8.grid(row=3, column=1, padx=1, pady=1)

boton9 = Button(root, text='9', width=button_width,


height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('9'))
boton9.grid(row=3, column=2, padx=1, pady=1)

boton_multiplicacion = Button(root, text='*', width=button_width,


height=button_height, bg='cyan', fg="black", font=('arial', 18,
'bold'), command=lambda: click('*'))
boton_multiplicacion.grid(row=3, column=3, padx=1, pady=1)

# Fila 4
boton_igual = Button(root, text='=', width=button_width,
height=button_height, bg='red', fg="black", font=('arial', 18, 'bold'),
command=lambda: click('='))
boton_igual.grid(row=4, column=0, padx=1, pady=1)
boton0 = Button(root, text='0', width=button_width,
height=button_height, bg='white', fg="black", font=('arial', 18,
'bold'), command=lambda: click('0'))
boton0.grid(row=4, column=1, padx=1, pady=1)

boton_punto = Button(root, text='.', width=button_width,


height=button_height, bg='green', fg="black", font=('arial', 18,
'bold'), command=lambda: click('.'))
boton_punto.grid(row=4, column=2, padx=1, pady=1)

boton_division = Button(root, text='/', width=button_width,


height=button_height, bg='cyan', fg="black", font=('arial', 18,
'bold'), command=lambda: click('/'))
boton_division.grid(row=4, column=3, padx=1, pady=1)

# Iniciar la ventana principal


root.mainloop()

También podría gustarte