Bonjour,
je crée dynamiquement des QTextEdit et je souhaiterais récupérer le texte qu'ils contiennent (texte que l'utilisateur aura tapé). J'inciste sur le fait que les QTextEdit ont été rajoutés dynamiquement. Voir les deux codes suivants.

Code window_TestOnglets.py (définition en dur de l'application)
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
from PyQt4 import QtCore, QtGui
 
class Ui_window_TestOnglets(object):
    def setupUi(self, window_TestOnglets):
        window_TestOnglets.setObjectName("window_TestOnglets")
        window_TestOnglets.resize(QtCore.QSize(QtCore.QRect(0,0,467,606).size()).expandedTo(window_TestOnglets.minimumSizeHint()))
        window_TestOnglets.setMinimumSize(QtCore.QSize(467,571))
        window_TestOnglets.setWindowIcon(QtGui.QIcon("im_1.png"))
 
        self.centralwidget = QtGui.QWidget(window_TestOnglets)
        self.centralwidget.setObjectName("centralwidget")
 
        self.tabWidget = QtGui.QTabWidget(self.centralwidget)
        self.tabWidget.setGeometry(QtCore.QRect(10,20,440,510))
        self.tabWidget.setObjectName("tabWidget")
 
        self.onglet_1 = QtGui.QWidget()
        self.onglet_1.setObjectName("onglet_1")
 
        self.textEdit_1 = QtGui.QTextEdit(self.onglet_1)
        self.textEdit_1.setGeometry(QtCore.QRect(10,10,401,451))
        self.textEdit_1.setObjectName("textEdit")
        self.tabWidget.addTab(self.onglet_1,"")
        window_TestOnglets.setCentralWidget(self.centralwidget)
 
        self.menubar = QtGui.QMenuBar(window_TestOnglets)
        self.menubar.setGeometry(QtCore.QRect(0,0,467,21))
        self.menubar.setObjectName("menubar")
 
        self.menuTest = QtGui.QMenu(self.menubar)
        self.menuTest.setObjectName("menuTest")
        window_TestOnglets.setMenuBar(self.menubar)
 
        self.statusbar = QtGui.QStatusBar(window_TestOnglets)
        self.statusbar.setObjectName("statusbar")
        window_TestOnglets.setStatusBar(self.statusbar)
 
        self.actionOuvrir = QtGui.QAction(window_TestOnglets)
        self.actionOuvrir.setObjectName("actionOuvrir")
        self.menuTest.addAction(self.actionOuvrir)
        self.menubar.addAction(self.menuTest.menuAction())
 
        self.retranslateUi(window_TestOnglets)
        self.tabWidget.setCurrentIndex(0)
        QtCore.QMetaObject.connectSlotsByName(window_TestOnglets)
 
    def retranslateUi(self, window_TestOnglets):
        window_TestOnglets.setWindowTitle(QtGui.QApplication.translate("window_TestOnglets", "window_TestOnglets", None, QtGui.QApplication.UnicodeUTF8))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.onglet_1), QtGui.QApplication.translate("window_TestOnglets", "Fichier", None, QtGui.QApplication.UnicodeUTF8))
        self.menuTest.setTitle(QtGui.QApplication.translate("window_TestOnglets", "Test", None, QtGui.QApplication.UnicodeUTF8))
        self.actionOuvrir.setText(QtGui.QApplication.translate("window_TestOnglets", "Ouvrir", None, QtGui.QApplication.UnicodeUTF8))
        self.actionOuvrir.setShortcut(QtGui.QApplication.translate("window_TestOnglets", "Ctrl+O", None, QtGui.QApplication.UnicodeUTF8))
Code TestOnglets.py (voir la fonction nouvelOnglet pour la création dynamique des QTextEdit)
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
#!/usr/bin/env python
 
# On importe les bibliothèques que nous allons utiliser.
import sys
from PyQt4 import QtCore, QtGui
 
# On importe notre application et les boîtes de dialogue.
from window_TestOnglets import Ui_window_TestOnglets
 
# # # # # # # # # # # # # # # # # # # # # # # #
# Comportement de la boîte de dialogue.   DEBUT
 
class window_TestOnglets(QtGui.QMainWindow, Ui_window_TestOnglets):
	def __init__(self):
		QtGui.QMainWindow.__init__(self)
		Ui_window_TestOnglets.__init__(self)
		self.setupUi(self)
 
# Connection du menu.
		self.connect(self.actionOuvrir, QtCore.SIGNAL("triggered()"),self.Ouvrir)
 
# Les variables
		self.nbreFichier = 0 # Nbre de fichiers ouverts
		self.tabloFichier = [] # Tableau contenant les chemins complets des fichiers ouverts (afin de ne pas ouvrir deux fois le même fichier)
 
# Ouverture d'un fichier
	def Ouvrir(self) :
		self.cheminFichier = QtGui.QFileDialog.getOpenFileName(self, self.tr("Choisir le fichier"),QtCore.QDir.currentPath(),"");
 
		if self.cheminFichier <> '':
# Cas du tout premier onglet.
			if self.nbreFichier == 0 :
				self.nbreFichier += 1
				self.textEdit_1.setText(self.cheminFichier)
				self.tabWidget.setTabText(self.tabWidget.indexOf(self.onglet_1), QtGui.QApplication.translate("window_TestOnglets", "Fichier n°1", None, QtGui.QApplication.UnicodeUTF8))
			else :
				self.nbreFichier += 1
				self.nouvelOnglet(u"Fichier n°"+str(self.nbreFichier),self.cheminFichier)
 
# Création d'un nouvel onglet pour recevoir un nouveau fichier
	def nouvelOnglet(self,titreTab,cheminDuFichier):
		self.tab = QtGui.QWidget()
		self.tab.setObjectName("onglet_"+str(self.nbreFichier))
 
		self.textEdit = QtGui.QTextEdit(self.tab)
		self.textEdit.setGeometry(QtCore.QRect(10,10,401,451))
		self.textEdit.setObjectName("textFichier_"+str(self.nbreFichier))
		self.textEdit.setText(cheminDuFichier)
 
		self.tabWidget.insertTab(0,self.tab,titreTab)
 
		self.tabWidget.setCurrentIndex(0)
 
# Comportement de la boîte de dialogue.   FIN
# # # # # # # # # # # # # # # # # # # # # # # #
 
 
# # # # # # # # # # # # # # #
# Lancement de l'application.
if __name__ == "__main__":
	app = QtGui.QApplication(sys.argv)
	TestOnglets = window_TestOnglets()
	TestOnglets.show()
	sys.exit(app.exec_())