Не, если глава была правильной.
У меня есть 2 архива uno.py и dos.py намерение состоит в том, чтобы Вы смогли звонить в QMainWindow
что в uno.py с dos.py, и звонить в QDIialog
что в dos.py с uno.py
Проблема состоит, в том, что это после того, как старается сделать, в меня бросает ошибка, одинокая ошибка показывает, что у какого-то из 2 классов есть конфликт, но Вы не показываете, что.
Uno.py
from PyQt5.QtWidgets import QMainWindow,QApplication,QPushButton
from Dos import C_Dos #Esto genera el eror
class Main(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
boton = QPushButton(self)
boton.setText("Abrir")
boton.clicked.connect(lambda:self.Abrir())
def Abrir(self):
print("ok")
C_Dos().show()
self.hide()
Dos.py
from PyQt5.QtWidgets import QDialog,QApplication,QPushButton
from Uno import Main #Esto genera el error
class C_Dos(QDialog):
def __init__(self):
QDialog.__init__(self)
boton = QPushButton(self)
boton.setText("Abrir")
boton.clicked.connect(lambda:self.Abrir())
def Abrir(self):
print("ok")
Main().show()
self.close()
app = QApplication([])
c = C_Dos()
c.show()
c.resize(500,400)
app.exec_()
Traceback Uno.py
Traceback (most recent call last):
File "C:\Users\Angel-Dell\Desktop\Uno.py", line 2, in <module>
from Dos import C_Dos #Esto genera el eror
File "C:\Users\Angel-Dell\Desktop\Dos.py", line 2, in <module>
from Uno import Main #Esto genera el error
File "C:\Users\Angel-Dell\Desktop\Uno.py", line 2, in <module>
from Dos import C_Dos #Esto genera el eror
ImportError: cannot import name 'C_Dos'
Process returned 1 (0x1) execution time : 0.091 s
Presione una tecla para continuar . . .
Traceback Dos.py
Traceback (most recent call last):
File "C:\Users\Angel-Dell\Desktop\Dos.py", line 2, in <module>
from Uno import Main #Esto genera el error
File "C:\Users\Angel-Dell\Desktop\Uno.py", line 2, in <module>
from Dos import C_Dos #Esto genera el eror
File "C:\Users\Angel-Dell\Desktop\Dos.py", line 2, in <module>
from Uno import Main #Esto genera el error
ImportError: cannot import name 'Main'
Process returned 1 (0x1) execution time : 0.089 s
Presione una tecla para continuar . . .
у Тебя Есть проблема importaciГіn крестовый поход или cГ-clica . Это рыба, как которая он кусает себе очередь. Я рекомендую тебе давать этому беглый просмотр post , напечатанный в Pythond
Una soluciГіn смоги состоять aГ±adir третьим классом в том, чтобы сослался в два mГіdulos, что ты хочешь импортировать предотвращая таким образом ссылку между ними.
Ты cГіdigo переделанный segГєn возможный soluciГіn может быть следующий:
Uno.py
from PyQt5.QtWidgets import QMainWindow, QApplication, QPushButton
class Main(QMainWindow):
def __init__(self,app):
QMainWindow.__init__(self)
boton = QPushButton(self)
boton.setText("Abrir")
boton.clicked.connect(app.abrirDialog)
Dos.py
from PyQt5.QtWidgets import QDialog,QPushButton
class C_Dos(QDialog):
def __init__(self,app):
QDialog.__init__(self)
boton = QPushButton(self)
boton.setText("Abrir")
boton.clicked.connect(app.abrirMainWindow)
app.py
from PyQt5.QtWidgets import QApplication
#Ninguno de los dos modulos se conoce
from Uno import Main
from Dos import C_Dos
class App():
def __init__(self):
self.mainWindow = Main(self)
self.mainWindow.setWindowTitle('Uno Main Window')
self.dosDialog = C_Dos(self)
self.dosDialog.setWindowTitle('Dos Dialog')
self.mainWindow.show()
self.mainWindow.resize(500,400)
def abrirDialog(self):
print("openning dialog")
self.dosDialog.show()
self.dosDialog.resize(500,400)
print("closing main window")
self.mainWindow.close()
def abrirMainWindow(self):
print("openning main window")
self.mainWindow.show()
print("closing dos dialog")
self.dosDialog.close()
def main():
qapp = QApplication([])
app = App()
qapp.exec_()
if __name__ == "__main__":
main()