Bonjour

soft python 3.8 et PyQT5

voila j'ai 2 fichiers qui ouvrent une fenêtre a partir de fichier UI générer par QT designer.

chaque fichier testé séparément fonctionne bien.

mais quand je clique sur le bouton "button_import_sn" du fichier 1 qui doit ouvrir la fenêtre du fichier2.py
J'ai le message suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
QCoreApplication::exec: The event loop is already running
après qques recherche c'est la ligne self.app.exec() dans le fichier2 qui est le pb puisqu'une session app.Exec est déjà lancé par le fichier 1
si je le retire la fenetre2 s'ouvre rapidement et se referme

please help me

Merci d'avance de votre aide



fichier1.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
import sys
 
from package.communication_gmot import liste_sn_of
#from package.interface import trackingwindows
from PyQt5 import QtCore, QtGui, QtWidgets, uic ,Qt
from PyQt5.QtWidgets import QTreeWidgetItem, QSizePolicy, QAction, QPushButton
from PyQt5.QtGui import QFont,QIcon, QPixmap
from fichier2 import window2
 
class window1():
 
    def __init__(self):
 
        self.app = QtWidgets.QApplication([])
        self.WIN1= uic.loadUi("./UIQT/WIN1.ui")
        self.WIN1.button_import_sn.clicked.connect(self.open_win2)
 
    def show(self):
        self.WIN1.show()
        self.app.exec()
 
    def open_win2(self):
 
        win2 = window2
        win2.show()
 
if __name__ == "__main__":
    Win_1= window1()
    Win_1.show()

fichier2.py
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
import sys
 
from package.communication_gmot import liste_sn_of
#from package.interface import trackingwindows
from PyQt5 import QtCore, QtGui, QtWidgets, uic ,Qt
from PyQt5.QtWidgets import QTreeWidgetItem, QSizePolicy, QAction, QPushButton
from PyQt5.QtGui import QFont,QIcon, QPixmap
 
class window2():
 
    def __init__(self):
 
        self.app = QtWidgets.QApplication([])
        self.win2= uic.loadUi("./UIQT/WIN2.ui")
 
    def show(self):
        self.win2.show()
        self.app.exec()
 
if __name__ == "__main__":
    Win_2= window2()
    Win_2.show()