Bonjour à tous,

Je me met tout doucement à PyQT5 et j'aimerais refaire une appli que j'ai faite et qui tourne bien sous TKinter.
Mais j'ai un souci dans ma phase préparatoire, j'aimerais simplement à l'aide d'un bouton d'une toolbar (action1, 2 ou 3) sur une fenêtre (fn_principale), en afficher une autre (fn_info).
La fn_info s'ouvre bien, le print (issue de la fonction "boutonpresse") sur la console se fait bien, mais aussitôt après la fn_info se ferme sans info d'erreur...

Je procède par étape pour chacun des widgets que je vais ajouter petit à petit, pour me familiariser avec les signaux et slots que je découvre avec PyQt5.
Ici je ne vois pas ce qui manque à mon code...

le voici:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
 
def boutonPresse(bouton): 
    print("Le bouton pressé est le suivant :", bouton.text())
    affiche_fn_info()
 
def affiche_fn_principal():
    application = QApplication(sys.argv) 
    fn_principale = QMainWindow() 
    fn_principale.setGeometry(100, 100, 800, 800) 
    fn_principale.setWindowTitle("bla-bla")
    icone = QIcon('C:\\bla-bla\\bla-bla\\PyQt5Projects\\bla-bla\\pjt.ico') 
    fn_principale.setWindowIcon(icone)
 
    barre = fn_principale.addToolBar("Barre d'outils d'exemple")
 
    action1 = QAction("Nouveau") 
    barre.addAction(action1) 
 
    action2 = QAction("?") 
    barre.addAction(action2) 
 
    action3 = QAction("Quitter") 
    barre.addAction(action3)
 
    barre.actionTriggered[QAction].connect(boutonPresse) 
 
    fn_principale.show() 
 
    application.exec_() 
 
 
def affiche_fn_info():
    fn_info = QWidget()
    fn_info.resize(380, 130) # Fixe les dimension en pixels de la fenetre
    fn_info.move(0, 0) # Place la fenêtre en haut à gauche (abcisse = x, ordonnées = y)
    fn_info.setWindowTitle("titre de la fnetre" ) # Titre de la fenetre
    icone = QIcon('C:\\blabla\\blabla\\blabla\\PJ-blabla\\pjt.ico') 
    fn_info.setWindowIcon(icone)
 
    # Label titre
    lbl_titre = QLabel("<font color=black size=20>blabla</font>", fn_info)
    lbl_titre.setText(lbl_titre.text() + " (1.0)")
    lbl_titre.move(128, 5)
 
    # Label sous-titre
    lbl_soustitre = QLabel("<font color=black size=10><i>blabla</i></font>", fn_info)
    lbl_soustitre.move(128, 35)
 
    # Label Version
    lbl_version = QLabel("<font color=black size=4>blabla</font>", fn_info)
    lbl_version.move(128, 70)
 
    # Label pour l'image
    img = QPixmap("C:\\blabla\\blabla\\blabla\\PJ-blabla\\pjt.png") 
    lbl_img = QLabel(fn_info) 
    lbl_img.setPixmap(img) 
    lbl_img.move(0, 0) 
    fn_info.show()
 
    # création du bouton
    btn_ok = QPushButton(fn_info) 
    btn_ok.move(190, 100) 
    btn_ok.setText("Ok")
    btn_ok.show()
 
if __name__ == '__main__': 
    affiche_fn_principal()
Si quelqu'un peux me mettre sur la piste ou mieux me donner la solution ça serait bioen cool pour continuer à avancer.
Merci pour votre aide.
Xavier