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:
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 QCoreApplication::exec: The event loop is already running
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()
Partager