Python – GUI del generador de texto que se burla de Bob Esponja usando Tkinter

Requisitos previos: Introducción a tkinter | Generador de texto burlón de Bob Esponja 

Python ofrece múltiples opciones para desarrollar una GUI (interfaz gráfica de usuario). De todos los métodos GUI, Tkinter es el método más utilizado. Python con Tkinter genera la forma más rápida y sencilla de crear aplicaciones GUI. En este artículo, aprenderemos cómo crear una aplicación GUI de generador de texto que se burla de Bob Esponja usando Tkinter, con una guía paso a paso.
 

Para crear un Tkinter:

  • Importando el módulo – tkinter
  • Crear la ventana principal (contenedor)
  • Agregue cualquier cantidad de widgets a la ventana principal.
  • Aplique el evento Trigger en los widgets.

La GUI se vería a continuación:

Vamos a crear una aplicación de generador de texto que se burla de Bob Esponja basada en GUI que pueda generar texto de Bob Esponja a partir de la entrada proporcionada por el usuario.
 

A continuación se muestra la implementación: 

Python3

# import all functions from the tkinter 
from tkinter import *
 
# import the random library
import random
 
# Function to clear both the text areas
def clearAll() :
    # whole content of text area  is deleted
    text1_field.delete(1.0, END)
    text2_field.delete(1.0, END)
 
# Function to Generate SpongeBob Mocking Text
def generate() :
 
    # get a whole input content from text box
    # ignoring \n from the text box content
    input_text = text1_field.get("1.0", "end")[:-1]
     
    # variable declaration for the output text
    output_text = ""
       
    # check the cases for every individual character
    for char in input_text:
           
        # check if the character is an alphabet
        if char.isalpha():
               
            # convert to upper case
            if random.random() > 0.5:
                output_text += char.upper()
                   
            # convert to lower case
            else:
                output_text += char.lower()
           
        # if character is not and alphabet
        # add it as it is
        else:
            output_text += char
   
    text2_field.insert('end -1 chars', output_text)
 
 
# Driver code
if __name__ == "__main__" :
 
    # Create a GUI window
    root = Tk()
 
    # Set the background colour of GUI window 
    root.configure(background = 'light green') 
     
    # Set the configuration of GUI window (WidthxHeight)
    root.geometry("400x350") 
 
    # set the name of tkinter GUI window 
    root.title("Generator")
     
    # Create Welcome to SpongeBob Mocking Text Generator label 
    headlabel = Label(root, text = 'Welcome to SpongeBob Mocking Text Generator', 
                      fg = 'black', bg = "red") 
   
    # Create a "Input Text " label 
    label1 = Label(root, text = " Input Text ",
                 fg = 'black', bg = 'dark green')
       
    # Create a "Output Text " label 
    label2 = Label(root, text = "Output Text", 
                   fg = 'black', bg = 'dark green') 
     
   
    # grid method is used for placing 
    # the widgets at respective positions 
    # in table like structure .
    headlabel.grid(row = 0, column = 1)
     
    # padx keyword argument used to set padding along x-axis .
    label1.grid(row = 1, column = 0, padx = 10) 
    label2.grid(row = 3, column = 0, padx = 10)
 
       
    # Create a text area box 
    # for filling or typing the information. 
    text1_field = Text(root, height = 5, width = 25, font = "lucida 13")
    text2_field = Text(root, height = 5, width = 25, font = "lucida 13")
        
    # padx keyword argument used to set padding along x-axis .
    # pady keyword argument used to set padding along y-axis . 
    text1_field.grid(row = 1, column = 1, padx = 10, pady = 10) 
    text2_field.grid(row = 3, column = 1, padx = 10, pady = 10)
 
       
    # Create a Generate Button and attached 
    # with generate function 
    button1 = Button(root, text = "Generate", bg = "red", fg = "black",
                                command = generate)
       
    button1.grid(row = 2, column = 1)
   
    # Create a Clear Button and attached 
    # with clearAll function 
    button2 = Button(root, text = "Clear", bg = "red", 
                     fg = "black", command = clearAll)
     
    button2.grid(row = 4, column = 1)
     
    # Start the GUI 
    root.mainloop() 

Producción : 

Publicación traducida automáticamente

Artículo escrito por ankthon y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *