Charger le contenu d'un QtextEdit dans un fichier

naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008 - 10 mars 2008 à 16:51
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 12 mars 2008 à 10:44
salut tout le monde,
dans mon application j'ai un QtextEdit et un bouton save à coté.je voudrais bien qu'on ecrivant quelques lignes dans ce Qtextedit ça se charge dans un fichier voici mon code.
---------------------------
QLineEdit *textEdit = new QLineEdit(this);
QString nom_file= QFileDialog::getSaveFileName(QString::null,"Texte (*.txt);;""Tous (*.*)",this);
QFile file(nom_file);
file.open(IO_ReadWrite);
QTextStream stream ( &file );
stream << textEdit->text();
file.close();
-----------------------------
le probleme est que j'ai reussi à créer le fichier mais il est vide.
merci d'avance

14 réponses

naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008
10 mars 2008 à 17:01
est ce que ilya quelqu'un quipeut m'aider ??
0
naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008
10 mars 2008 à 17:11
salut,
desolée j'ai trompé dams le premier message voici mon code ci dessous:

----------------------------------------
QTextEdit *textEdit = new QTextEdit(this);
QString nom_file= QFileDialog::getSaveFileName(QString::null,"Texte (*.txt);;""Tous (*.*)",this);
QFile file(nom_file);
file.open(IO_ReadWrite);
QTextStream stream ( &file );
stream << textEdit->text();
file.close();
-----------------------------------------
meci pour vos aides
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
11 mars 2008 à 01:06
Ton textEdit est vide, tu mets rien dedans la.
0
naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008
11 mars 2008 à 08:26
salut,
mais comment je peux charger ce textEdit.
merci pour l'aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
11 mars 2008 à 17:14
Bas faut pas recréer un nouvea textEdit. T'imagines bien que si tu créés un textEdit, il n'y a rien dedans...
Il faut récupérer le textEdit de ta fenetre qui doit etre un membre de ta classe fenetre.
0
naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008
11 mars 2008 à 17:25
oui mon textedit est un membre de ma classe.
si je ne renitialise pas mon textedit dans mon slot il m'affiche que textedit not declared????
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
11 mars 2008 à 17:33
Mais tu réinitialises rien du tout, tu récrés un nouveau objet. C'est pas parce qu'il a le meme nom que c'est le meme !
S'il te sort un message d'erreur, c'est que ton textEdit n'est pas membre de ta classe. Post plus de code.
0
naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008
11 mars 2008 à 17:42
voici la totalité de mon code ci-dessous, si tu peux me corriger qq chose je serais vraiement reconnaissante:
--------------------------------------------
MyWidget::MyWidget(QWidget *parent, const char *name)
: QWidget(parent,name)
{ QTextEdit *textedit = new QTextEdit(this);
QPushButton * save=new QPushButton("save",this);
connect(save, SIGNAL( clicked() ), this, SLOT( savefichier() ) );
}

void MyWidget::savefichier()
{
QTextEdit textEdit;
QString nom_file= QFileDialog::getSaveFileName(QString::null,"Texte (*.txt);;""Tous (*.*)",this);
QFile file(nom_file);
if (file.open(IO_WriteOnly))
{
QTextStream stream ( &file );
stream <<textEdit.text();
file.close();
}
}
--------------------------------------------
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
11 mars 2008 à 18:23
Bas évidemment que ca marche pas puisque textEdit est pas membre de ta classe.

MyWidget::MyWidget(QWidget *parent, const char *name) :
    QWidget(parent,name),
    textedit(NULL)
{       
        textedit = new QTextEdit(this);

         QPushButton * save=new QPushButton("save",this);

         connect(save, SIGNAL( clicked() ), this, SLOT( savefichier() ) );

}

void MyWidget::savefichier()

{

QString nom_file= QFileDialog::getSaveFileName(QString::null,"Texte (*.txt);;""Tous (*.*)",this);

QFile file(nom_file);

if (file.open(IO_WriteOnly))

{

QTextStream stream ( &file );

stream << textEdit->text();

file.close();

}

}
0
naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008
12 mars 2008 à 08:47
salut,
en mettant ton truc il m'a affiché les erreurs ci dessous:
----------------------------------------------------------
ligne -> erreur
textedit(NULL)->class ?MyWidget? does not have any field named ?textedit?
textedit = new QTextEdit(this); ->?textedit? was not declared in this scope
stream << textEdit->text(); ->?textedit? was not declared in this scope
----------------------------------------------------
est ce que tu peux m'aider???
0
naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008
12 mars 2008 à 08:58
salut,
mon probleme est resolu il faut indiquer le textedit comme variable globale.
merci
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
12 mars 2008 à 09:45
Non il faut déclarer ton textedit dans ta classe. Un conseil, revois le fonctionnement des structures C/C++ car la tu vas te planter. Evidemment que ca marche, faut surtout pas faire ca.
0
naddoush Messages postés 35 Date d'inscription lundi 4 décembre 2000 Statut Membre Dernière intervention 23 avril 2008
12 mars 2008 à 10:02
mais comment faire alors??
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
12 mars 2008 à 10:44
Lire ca: http://www.commentcamarche.net/cpp/cppclass.php3
Puis mettre ton textEdit en variable membre de la classe.
0
Rejoignez-nous