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...
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()
Merci