ChatPersonas/Vista.py

44 lines
1.8 KiB
Python

import tkinter as tk
from tkinter import scrolledtext
class VistaChat:
def __init__(self, root, controlador):
self.root = root
self.root.title("Chat Cliente-Servidor")
self.controlador = controlador
# Botón para iniciar el servidor
self.server_button = tk.Button(root, text="Iniciar Servidor", command=self.controlador.iniciar_servidor)
self.server_button.grid(row=0, column=0, padx=10, pady=10)
# Botón para conectar el cliente
self.connect_button = tk.Button(root, text="Conectar Cliente", command=self.controlador.conectar_cliente)
self.connect_button.grid(row=0, column=1, padx=10, pady=10)
# Área de chat
self.chat_display = scrolledtext.ScrolledText(root, wrap=tk.WORD, state='disabled', width=50, height=20)
self.chat_display.grid(row=1, column=0, padx=10, pady=10, columnspan=2)
# Campo de entrada de mensajes
self.message_entry = tk.Entry(root, width=40)
self.message_entry.grid(row=2, column=0, padx=10, pady=10)
# Botón para enviar mensajes
self.send_button = tk.Button(root, text="Enviar", command=self.controlador.enviar_mensaje, state='disabled')
self.send_button.grid(row=2, column=1, padx=10, pady=10)
def mostrar_mensaje(self, mensaje):
"""Muestra un mensaje en el chat."""
self.chat_display.config(state='normal')
self.chat_display.insert(tk.END, mensaje + '\n')
self.chat_display.config(state='disabled')
self.chat_display.yview(tk.END)
def habilitar_envio(self):
"""Habilita el botón de enviar mensajes."""
self.send_button.config(state='normal')
def deshabilitar_envio(self):
"""Deshabilita el botón de enviar mensajes."""
self.send_button.config(state='disabled')