Generation

class from descriptionThu, 27 Feb 2025

Hazme una simple página donde el usuario escriba algo y el código le responda. (Como cuando probamos cosas en la terminal). Y que puedan chatear

Aquí te muestro un ejemplo de cómo crear una página simple de chat en Python utilizando la biblioteca `tkinter` para la interfaz gráfica y `threading` para manejar la comunicación entre el usuario y el servidor. **Requisitos previos** * Python 3.x instalado en tu sistema * Bibliotecas `tkinter` y `threading` instaladas (viene por defecto con Python) **Código** ```python import tkinter as tk from tkinter import scrolledtext import threading class ChatServer: def __init__(self): self.root = tk.Tk() self.root.title("Chat Server") self.text_area = scrolledtext.ScrolledText(self.root, width=80, height=20) self.text_area.pack(padx=10, pady=10) self.entry = tk.Entry(self.root, width=80) self.entry.pack(padx=10, pady=10) self.button = tk.Button(self.root, text="Enviar", command=self.enviar_mensaje) self.button.pack(padx=10, pady=10) self.label = tk.Label(self.root, text="Escribe tu mensaje:") self.label.pack(padx=10, pady=10) self.text_area.config(state="disabled") self.server_thread = threading.Thread(target=self.listen) self.server_thread.start() def listen(self): while True: mensaje = input("Servidor: ") self.text_area.config(state="normal") self.text_area.insert(tk.END, "Servidor: " + mensaje + "\n") self.text_area.config(state="disabled") def enviar_mensaje(self): mensaje = self.entry.get() self.text_area.config(state="normal") self.text_area.insert(tk.END, "Cliente: " + mensaje + "\n") self.text_area.config(state="disabled") self.server_thread = threading.Thread(target=self.enviar_mensaje_a_servidor, args=(mensaje,)) self.server_thread.start() def enviar_mensaje_a_servidor(self, mensaje): print("Cliente: ", mensaje) def run(self): self.root.mainloop() if __name__ == "__main__": chat_server = ChatServer() chat_server.run() ``` **Cómo funciona** * La clase `ChatServer` crea una ventana con un área de texto para mostrar los mensajes, un campo de entrada para que el usuario escriba mensajes y un botón para enviarlos. * La función `listen` es un hilo que escucha la entrada estándar para recibir mensajes del servidor. * La función `enviar_mensaje` se llama cuando el usuario presiona el botón "Enviar". Envía el mensaje al servidor y lo muestra en la área de texto. * La función `enviar_mensaje_a_servidor` es una función que se llama en un hilo separado para enviar el mensaje al servidor. **Nota** * Este es un ejemplo básico y no incluye ninguna seguridad ni validación de entrada. * La comunicación entre el cliente y el servidor se realiza a través de la entrada estándar y la salida estándar, lo que significa que no es una comunicación segura. * Para una aplicación real, sería mejor utilizar una biblioteca de comunicación como `socket` o `twisted` para manejar la comunicación entre el cliente y el servidor.

Want to kickstart your project?Use the new AI Studio to create your code