Python: GUI del convertidor de texto UwU usando Tkinter

Requisitos previos: Introducción a tkinter | Conversor de texto UwU

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. Es una interfaz estándar de Python para el kit de herramientas Tk GUI que se envía con Python. Python con Tkinter genera la forma más rápida y sencilla de crear aplicaciones GUI. Ahora, depende de la imaginación o la necesidad de un desarrollador, lo que quiere desarrollar con este conjunto de herramientas.
 

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.

A continuación se muestra el aspecto de la GUI:

Vamos a crear una aplicación de conversión de texto uwu basada en GUI que pueda convertir la entrada de texto proporcionada por el usuario en texto uwu.
 

A continuación se muestra la implementación:
 

Python3

# import all functions from the tkinter 
from tkinter import *
 
# 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 convert into UwU text
def convert() :
 
    # get a whole input content from text box
    # ignoring \n from the text box content
    input_text = text1_field.get("1.0", "end")[:-1]
     
    # the length of the input text
    length = len(input_text)
       
    # variable declaration for the output text
    output_text = ''
       
    # check the cases for every individual character
    for i in range(length):
           
        # initialize the variables
        current_char = input_text[i]
        previous_char = None
           
        # assign the value of previous_char
        if i > 0:
            previous_char = input_text[i - 1]
           
        # change 'L' and 'R' to 'W'
        if current_char == 'L' or current_char == 'R':
            output_text += 'W'
           
        # change 'l' and 'r' to 'w'
        elif current_char == 'l' or current_char == 'r':
            output_text += 'w'
           
        # if the current character is 'o' or 'O'
        # also check the previous character
        elif current_char == 'O' or current_char == 'o':
            if previous_char == 'N' or previous_char == 'n' or previous_char == 'M' or previous_char == 'm':
                output_text += "yo"
            else:
                output_text += current_char
           
        # if no case match, write it as it is
        else:
            output_text += current_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("Converter")
     
    # Create Welcome to Morse Code Translator label 
    headlabel = Label(root, text = 'Welcome to UwU text converter', 
                      fg = 'black', bg = "red") 
   
    # Create a "Text " label 
    label1 = Label(root, text = " Text ",
                 fg = 'black', bg = 'dark green')
       
    # Create a "UwU Text " label 
    label2 = Label(root, text = "UwU 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) 
    label1.grid(row = 1, column = 0) 
    label2.grid(row = 3, column = 0)
 
       
    # 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 Convert Button and attached 
    # with convert function 
    button1 = Button(root, text = "Convert into UwU text", bg = "red", fg = "black",
                                command = convert)
       
    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 *