Contexto:
Tengo dos archivos Uno.py
y Dos.py
entre los cuales trato de realizar una importación cíclica, en uno de ellos tengo una QMainWindow
y en el otro un QDialog
, al oprimir un botón la ventana actual debe cerrarse y abrir la ventana del otro archivo.
Problema:
El problema es que al presionar el botón no se cierra la ventana y sale el siguiente mensaje:
QCoreApplication::exec: The event loop is already running
Anexo un ejemplo:
La intención es que al presionar un botón se abra la otra ventana y se cierre la actual y viceversa
Uno.py
from PyQt5.QtWidgets import QMainWindow,QApplication,QPushButton
class Class_Uno(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.Boton = QPushButton(self)
self.Boton.setText("Presioname")
self.Boton.clicked.connect(self.Conexion)
def Conexion(self):
from Dos import Class_Dos
self.dos = Class_Dos()
self.dos.show()
self.close()
app = QApplication([])
cu = Class_Uno()
cu.show()
app.exec_()
Dos.py
from PyQt5.QtWidgets import QDialog,QApplication,QPushButton
class Class_Dos(QDialog):
def __init__(self):
QDialog.__init__(self)
self.BotonDos = QPushButton(self)
self.BotonDos.setText("Presioname 2")
self.BotonDos.clicked.connect(self.Conectar)
self.resize(300,200)
def Conectar(self):
from Uno import Class_Uno
self.uno = Class_Uno()
self.uno.show()
self.close()