PyCharm

Pycharm es un fantástico IDE para Python.
Cuenta con versión gratuita y versión de pago. Tú eliges.
Este es el IDE que utilizo en el curso
Ir a la página de descargaEn este capítulo veremos un poco sobre cómo hacer alguna acción con los cuadros de diálogo. Iremos viendo más cosas sobre esto más adelante.
Tenemos el siguiente programa, que muestra una pregunta al usuario. Lo que vamos a hacer es añadir un if para que en caso de que pulse el botón "sí", que haga una cosa y si pulsa el botón "no" que haga otra cosa diferente.
from tkinter import *
from tkinter.messagebox import *
root = Tk()
root.title("Este es el título de la ventana principal")
root.iconbitmap("imagenes/icono.ico")
def muestra_ventana():
respuesta = askquestion(title="Pregunta seria",
message="¿Debería dejar de programar y salir a la calle?")
boton1 = Button(root, text="Enviar", command=muestra_ventana, width=75).pack()
mainloop()
Añadamos a este código un if else, escríbelo dentro de la función muestra_ventana.
def muestra_ventana():
respuesta = askquestion(title="Pregunta seria",
message="¿Debería dejar de programar y salir a la calle?")
if respuesta == "no":
showinfo(title="¡A seguir programando!",
message="Estupendo, eligió la respuesta correcta.")
else:
askretrycancel(title="Botón equivocado",
message="Haga click en 'Reintentar' para seguir programando.")
Si pulsas el botón "si":
Si pulsas el botón "no":
Si lo entiendes mejor poniendo una opción para el "si" y otra para el "no", puedes cambiar el else por otro if:
def muestra_ventana():
respuesta = askquestion(title="Pregunta seria",
message="¿Debería dejar de programar y salir a la calle?")
if respuesta == "no":
showinfo(title="¡A seguir programando!",
message="Estupendo, eligió la respuesta correcta.")
if respuesta == "yes":
askretrycancel(title="Botón equivocado",
message="Haga click en 'Reintentar' para seguir programando.")
Ahora le podemos ir añadiendo más cosas al programa, por ejemplo otro messagebox para para el askretrycancel de la respuesta "yes".
Le pondré otro if anidado y almaceno el askretrycancel en la variable respuesta_retry:
if respuesta == "yes":
respuesta_retry = askretrycancel(title="Botón equivocado",
message="Haga click en 'Reintentar' para seguir programando.")
if respuesta_retry:
showinfo(title="¡A seguir programando!",
message="Estupendo, eligió la respuesta correcta.")
Al hacer click en el botón Reintentar aparece otra ventana.
Por si no sabes porqué este comportamiento, te explico que el botón Reintentar produce un true lo que hace que se cumpla la última condición que he escrito.
En el caso de darle a Cancelar, devuelve false y la condición no se cumple. Podrías añadir otra condición para el false y cuantas más cosas se nos ocurran.
if respuesta == "yes":
respuesta_retry = askretrycancel(title="Botón equivocado",
message="Haga click en 'Reintentar' para seguir programando.")
if respuesta_retry:
showinfo(title="¡A seguir programando!",
message="Estupendo, eligió la respuesta correcta.")
else:
showinfo(title="Adiós", message="¡Que tenga un buen paseo! T.T")
Hasta aquí este capítulo número 11. El siguiente se pone muy interesante, ya que vas a crear tu primer programa con todo lo que has aprendido hasta ahora. Se trata de una calculadora básica, que podrá sumar, restar, multiplicar y dividir, además de algunos extras como números decimales o un botón para borrar los números en la pantalla.
Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.
Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.
No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.
Si te quedan dudas sobre el temario, sobre Python, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.