Bonjour à tous
J'ai un problème tout con => j'ai une fenêtre X qui, lors d'un clic sur un bouton, affiche une fenêtre Y (non modale)
En théorie, je devrais pouvoir basculer de la fenêtre X sur la Y et inversement. Dans les faits, ça marche sauf que la fenêtre X reste toujours affichée sous la Y. Si je veux la voir en entier, il me faut déplacer la fenêtre Y plus loin.
Si vous voulez voir le code, j'ai sûrement raté un truc...
Merci
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
73
74
75 #!/usr/bin/env python # coding: Latin-1 -*- import sys try: from PyQt4.QtCore import * from PyQt4.QtGui import * except: import time for i in range(10): print "PyQT non installé - A vérifier (%d/10)" % (i + 1) time.sleep(5) sys.exit(1) class QtAppli(QApplication): "Fenêtre de l'application" # Constructeur fenêtre def __init__(self, argv): # Appel constructeur de l'objet hértié QApplication.__init__(self, argv) # Attributs de l'application self.argv=argv # Widget principale self.wid=QMainWindow() self.wid.setCentralWidget(QWidget(self.wid)) self.wid.statusBar() # Titre self.wid.setWindowTitle("Vérification QT") # Un espace de rangement box=QVBoxLayout(self.wid.centralWidget()) # Le bouton btn=QPushButton(self.wid.centralWidget()) btn.setText("Test QT") self.connect(btn, SIGNAL("clicked()"), self.slotAction) box.addWidget(btn) # Pour quitter quit=QPushButton(self.wid.centralWidget()) quit.setText("Quitter") self.connect(quit, SIGNAL("clicked()"), self, SLOT("quit()")) box.addWidget(quit) # Affichage et lancement application def run(self): self.wid.show() self.exec_() # Slot qui affiche une fenêtre avec un texte def slotAction(self): print "clicked" dial=QDialog(self.wid) dial.setWindowTitle("Félicitations, QT fonctionne parfaitement !!!") layout=QVBoxLayout(dial) lab=QLabel("<center><font size='+5'><font color='red'>CLICKED</font></font></center>") layout.addWidget(lab) btn=QPushButton(dial) btn.setText("Félicitations, QT fonctionne parfaitement !!!") btn.connect(btn, SIGNAL("clicked()"), dial, SLOT("close()")) layout.addWidget(btn) dial.show() Appli=QtAppli(sys.argv) Appli.run()
Partager