Bonjour à toutes et tous,
Je suis sur une appli dans laquelle j'aimerais mettre en place une boite de dialogue du type "Messagebox".
Le but étant que l'utilisateur puisse lire l'info du message et qu'en cliquant sur le bouton "ok", cela referme uniquement la boite de dialogue mais pas la fenêtre principale.
Hors pour l'instant, mon souci est que en cliquant sur le bouton "Ok" de la "Messagebox", cela ferme toute l'appli.
Mais plutôt qu'un long discours voici les extraits de code que j'ai mis en place pour l'instant:
Tout d'abord concernant ma fenêtre principale qui démarre avec la méthode "setupUi":
Puis le signal de ma toolbar qui execute la methode "about" pour ma messagebox:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtWidgets import QMessageBox class Ui_fn_principale(object): def setupUi(self, fn_principale): fn_principale.setObjectName("fn_principale") fn_principale.resize(620, 194) font = QtGui.QFont() font.setPointSize(12) fn_principale.setFont(font) self.centralwidget = QtWidgets.QWidget(fn_principale)
Enfin le "if main" de fin de code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 self.actionProgramme = QtWidgets.QAction(fn_principale) self.actionProgramme.setObjectName("actionProgramme") #******************************** # Signal et slots Menu Programme #******************************** self.actionProgramme.triggered.connect(self.about)
Si quelqu'un peut m'expliquer ce qui explique cette fermeture de tout le programme et ce qu'il faut modifier dans le code pour que le clic sur le Ok du messagebox ne ferme que la massagebox et pas toute l'appli.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) fn_principale = QtWidgets.QMainWindow() ui = Ui_fn_principale() ui.setupUi(fn_principale) fn_principale.show() sys.exit(app.exec_())
Merci d'avance pour l'aide.
Xavier![]()
Partager