Bonjour,
J'aimerai savoir comment on peut recuperer le texte d'un QTextEdit?
merci d'avance
Bonjour,
J'aimerai savoir comment on peut recuperer le texte d'un QTextEdit?
merci d'avance
Avec toHtml() ou toPlainText(), selon ce que tu veux.
ok merci mais maintenant je suis confronter a un nouveau probleme.
Voici le code:
ap.h
ap.cpp
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 #ifndef P #include<QPushButton> #include <QTcpServer> #include <QTcpSocket> #include <QTextEdit> #include <QSound> using namespace std; #endif /**affichage des bouton si on clique dessus*/ class clique : public QPushButton { Q_OBJECT public slots: void AfficheConnectjer(); void AfficheConnectseb(); void AfficheConnectthi(); }; /**fin affichage des bouton si on clique dessus*/ /** classe reseau des le clique d'un bouton*/ class reseauseb : public QTcpSocket { Q_OBJECT public slots: void seb(); void jer(); void thi(); }; /** fin classe reseau des le clique d'un bouton*/ /**envoie*/ class envoie : public QTextEdit { void envoyer(); };
main.cpp
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 #ifndef P #include<QApplication> #include<QWidget> #include<QPushButton> #include <QTextEdit> #include <QString> #include <QTcpSocket> #include <QSound> #include"ap.h" using namespace std; #endif /**affichage des bouton si on clique dessus*/ void clique::AfficheConnectjer() { this->setText("connection etablie avec jer"); this->show(); } void clique::AfficheConnectthi() { this->setText("connection etablie avec thi"); this->show(); } void clique::AfficheConnectseb() { this->setText("connection etablie avec seb"); this->show(); } /**fin affichage des bouton si on clique dessus*/ //---------------------------------------------------- /** classe reseau des le clique d'un bouton*/ void reseauseb::seb() { this->connectToHost("192.168.1.250",8080); } void reseauseb::jer() { this->connectToHost("192.168.1.251",8080); } void reseauseb::thi() { this->connectToHost("192.168.1.252",8080); } /**fin classe reseau des le clique d'un bouton*/ void envoie::envoyer() { }
en faite je veux envoyer le texte contenu de l'objet bdds qui est de type "envoie" qui herite de la classe QTextEdit.Et le bouton envoyer permettra d'envoyer ce texte.
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 #define P #include<QApplication> #include<QWidget> #include<QPushButton> #include <QTextEdit> #include <QTcpSocket> #include <QString> #include <stdio.h> #include <stdlib.h> #include <winsock2.h> #include <QTcpServer> #include <QSound> #include"ap.h" using namespace std; int main(int argc, char **argv) { /**création de la fenetre et du parent */ QApplication app(argc,argv); QWidget fenetre; fenetre.resize(800,600);//redimension de la fenetre /** fin création de la fenetre et du parent */ /**création des boutons */ QPushButton boutonjer("jer",&fenetre); QPushButton boutonseb("Seb",&fenetre); QPushButton boutonthi("thi",&fenetre); QPushButton boutonsend("envoyer",&fenetre); QPushButton boutontemp("ATTENTION : Ce logiciel n'est pas terminer.\n il ne fonctionne donc pas encore"); /**fin création des boutons */ /** son */ QSound son("ringin.wav",&fenetre); /** fin son */ /**création des boites de dialogue */ QTextEdit bddr("/*Programme créer par carré sébastien*/",&fenetre); envoie bdds; /** fin création des boites de dialogue */ /**redimensionement et positionnement des boites de dialogue et des boutons*/ boutonjer.setGeometry(10, 10,50,30); boutonseb.setGeometry(375, 10,50,30); boutonthi.setGeometry(740, 10,50,30); boutonsend.setGeometry(370, 500,75,45); bddr.setGeometry(12, 52,775,190); bdds.setGeometry(12, 280,775,190); /** fin redimensionement et positionnement des boites de dialogue et des boutons*/ /**création de l'objet permettant de créer une connexion et les lié avec les boutons precedement créer*/ clique ac; /**fin création des objets permettant de créer une connexion et les lié avec les boutons precedement créer*/ /**affichage des boutons non lié au parent */ fenetre.show(); boutontemp.show(); /**fin affichage des boutons non lié au parent */ /**serveur*/ reseauseb bou;//permet d'utiliser le membre seb de la classe reseau et le connect des qu'il y a newconnection() QTcpServer serveur;//permet le listen serveur.listen(QHostAddress::Any,8080); serveur.connect(&serveur,SIGNAL(newConnection()),&son,SLOT(play()));//si connection alors on ferme la fenetre /**fin serveur*/ /**SIGNAUX ET SLOTS boutons */ QPushButton::connect(&boutonjer,SIGNAL(clicked()),&ac,SLOT(AfficheConnectjer())); QPushButton::connect(&boutonthi,SIGNAL(clicked()),&ac,SLOT(AfficheConnectthi())); QPushButton::connect(&boutonseb,SIGNAL(clicked()),&ac,SLOT(AfficheConnectseb())); QPushButton::connect(&boutonjer,SIGNAL(clicked()),&bou,SLOT(jer())); QPushButton::connect(&boutonthi,SIGNAL(clicked()),&bou,SLOT(thi())); QPushButton::connect(&boutonseb,SIGNAL(clicked()),&bou,SLOT(seb())); /**SIGNAUX ET SLOTS */ return app.exec(); }
Le probleme c'est que l'objet n'est pas lié au parent (fenetre) et je ne voit pas comment le lié.J'ai pensé a utilisé le contructeur de la classe QTextEdit car ma classe envoie herite de celle ci mais je ne vois pas comment faire.
pouvez vous m'aider pour ce probleme?
je pouurai faire sapour recuperer le texte :
QTextEdit bdds("",&fenetre);
Qstring texte=bdds.toPlainText();
mais lorsque je ferai le connect avec le signal clicked() pour le bouton envoyer, il faudrai que j'envoie mon texte a une fonction donc le slot aura un parametre.
Au lieu de faire l'ui dans le main, je pense qu'il serait mieux de créer une classe fenêtre qui hérite de QWidget que tu instancies dans le main, et tu mets toute l'ui, voire même le reste, dedans.
Comme ça, tu pourras accéder facilement aux différents boutons et textedit. Et en faisant un connect entre ,p.ex., le signal clicked d'un bouton et une fonction slot de ta classe, cette fonction pourra récupérer toutes les informations qu'elle veut avant d'appeler d'autres fonctions.
ok merci je vais essayé de faire ce que tu decrit
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager