Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ventanas no responden #402

Open
Bjnazar opened this issue Nov 15, 2022 · 4 comments
Open

Ventanas no responden #402

Bjnazar opened this issue Nov 15, 2022 · 4 comments
Assignees

Comments

@Bjnazar
Copy link

Bjnazar commented Nov 15, 2022

Prerrequisitos

(Marcar colocando una X entre los corchetes los ítems que ya hiciste, así: "[X]")

  • [ x] Leí las reglas del foro (Instalación py 3.11.X con X>=7 Syllabus#1).
  • [ x] Busqué en las issues si ya preguntaron mi duda y no encontré nada parecido (https://github.com/IIC2233/syllabus/issues/).
  • [ x] Revisé el compilado de dudas de la tarea y no encontré una issue similar a la mía (hps://github.com/IIC2233/syllabus/issues/326).
  • [ x] Mi duda no se trata sobre una librería, built-in o mala práctica, ya que eso se pregunta en la issue creada para ello (https://github.com/IIC2233/syllabus/issues/325).
  • [ x] Mi duda no se trata de un tema administrativo o personal, ya que en ese caso debo contactar a mi profe, al Jefe de Bienestar o al correo del curso (iic2233@ing.puc.cl).
  • [ x] Utilizaré un título descriptivo y llenaré correctamente esta plantilla.
  • [ x] De ser necesario, colocaré código simple que permita explicar mi problema o duda, ya que compartir código de esta evaluación puede ser considerado una falta a la ética.

Duda

Hola,
para mi código me basé en la AF3, ayudantías pasadas y también código de los contenidos que utilizaba threading. Sin haber cambiado los threads, ahora cuando trato de pasar desde la ventana de inicio a la de espera la ventana no responde. Busqué en google y al parecer el problema es "freezing gui", pero según lo que entiendo, mi programa sí tiene distintos threads que realizan tareas, por lo que no entiendo cómo arreglarlo
Feliz si pudieran ayudarme para que el programa pueda funcionar, gracias de antemano

@Hernan4444
Copy link
Contributor

Hola,

El freezing gui suele ocurrir cuando no hay un correcto uso de señales. Lo más probable es que un QObject está ejecutando métodos de alguna ventana en ves de emitir un señal que llame a ese método.

Por ejemplo, lo más común que he visto es tener una clase interfaz con toda las ventanas, pero esta interfaz llama a los métodos de cada ventana, por ejemplo, self.ventana_1.esconder_elementos() cuando lo correcto es tener una señal (esconder_elementos_senal) en la interfaz conectada con el método esconder_elementos de ventana_1 y luego hacer self.esconder_elementos_senal.emit() en vez de self.ventana_1.esconder_elementos().

Verifica si en tu código tiene todo correctamente conectado con señales y nos cuentas,

Saludosヾ(^-^)ノ

@Hernan4444 Hernan4444 self-assigned this Nov 15, 2022
@Bjnazar
Copy link
Author

Bjnazar commented Nov 15, 2022

Muchas graciaaas!!!!!! Ahí lo pude arreglar!!
Ahora lamentablemente aparece otro error, que no sé si esté relacionado.
Copié el código de la AF3 del main.py del servidor(para que se cierre al apretar CTRL + C), y al hacerlo no reconoce el socket, pero imprimo type(socket del servidor) y es un socket.socket
El error es el siguiente:
(Al hacer socket.close() del servidor)

Exception in thread Thread-1 (accept_connections_thread):
Traceback (most recent call last):
File "C:\Users\berni\AppData\Local\Programs\Python\Python310\lib\threading.py", line 1016, in _bootstrap_inner
self.run()
File "C:\Users\berni\AppData\Local\Programs\Python\Python310\lib\threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\berni\OneDrive\Desktop\IV° Semestre 2022\programacion avanzada\Bjnazar-iic2233-2022-2\Tareas\T3\servidor\clase_servidor.py", line 43, in accept_connections_thread
client_socket, address = self.socket_server.accept() # tupla donde address = IP
File "C:\Users\berni\AppData\Local\Programs\Python\Python310\lib\socket.py", line 293, in accept
fd, addr = self._accept()
OSError: [WinError 10038] Se intentó realizar una operación en un elemento que no es un socket

@Hernan4444
Copy link
Contributor

Hola,

Viendo el error me imagino que cierras el socket, pero luego el loop infinito que escuchar clientes y aceptarlo se cae porque self.socket_server fue cerrado, dejó de ser socket pero todavía le pides que haga accept()

Revisa por ese lado si se soluciona el error,

@Bjnazar
Copy link
Author

Bjnazar commented Nov 15, 2022

Muchas gracias!!! se solucionó el error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants