Partage
  • Partager sur Facebook
  • Partager sur Twitter

[QScintilla] Enregistrer les données d'un QsciScintilla

    26 novembre 2008 à 19:23:00

    Bonjour à tous,

    Je cherche à améliorer un logiciel sérieux que j'ai fait et j'ai besoin de savoir l'alternative d'enregistrement d'un QTextEdit en QsciScintilla (car j'ai remarqué que ça ne marchait pas de la même manière)

    Mon code de mon fichier Writext.cpp :

    //Cette partie de code correspond au Writext2() et non au Writext() tout court : c'est pour une QDialog
    zonePrevisualisation = new QsciScintilla(this);
    zonePrevisualisation->setReadOnly(true);
    zonePrevisualisation->setGeometry(10, 10, 430, 495);
    QsciLexerHTML *lexerHTML = new QsciLexerHTML;
    zonePrevisualisation->setLexer(lexerHTML);
    zonePrevisualisation->setMarginLineNumbers(1,true);
    zonePrevisualisation->setMarginWidth(1, 25);
    //...
    


    Et mon Writext.h complet :
    #ifndef HEADER_WRITEXT
    #define HEADER_WRITEXT
    
    #include <QtGui>
    #include <QObject>
    #include <Qsci/qsciscintilla.h>
    #include<Qsci/qscilexerhtml.h> 
    
    
    class Writext : public QMainWindow
    {
    	Q_OBJECT
    	
    	public:
    		Writext();
    
    	public slots:
    		void closeEvent(QCloseEvent *event);
    		void ouvrirApropos();
    		void nouveauFichier();
    		void ouvrirFichier();
    		void enregistrerSous();
    		void enregistrerFichier();
    		void enregistrerHtml();
    		void enregistrerSousHtml();
    		void modificationDocument();
    		void previsualisation();
    		void enregistrerPrevisualisation();
    		void Quitter();
    		bool maybeSave();
    		void enregistrer();
    		void ouvrirPolice();
    		void ouvrirCouleur();
    		void createStatusBar();
    
    	private:
    		int ok;
    		bool formatHtml;
    		QString nom_fichier;
    		QTextEdit *zoneTexte;
    		QWidget *zoneCentrale;
    };
    
    class Writext2 : public QDialog
    {
    	Q_OBJECT
    
    	public:
    		Writext2();
    
    	public slots:
    		void Fermer();
    		void closeEvent(QCloseEvent *event);
    		void remplirZonePrevisualisation();
    
    	private:
    		QsciScintilla *zonePrevisualisation;
    };
    
    #endif
    


    Merci d'avance,
    zAmnellL
    • Partager sur Facebook
    • Partager sur Twitter
      28 novembre 2008 à 21:25:10

      bah pour ouvrir :

      QFile file(chemin);  // chemin est un QString
      if (file.open(QIODevice::ReadOnly | QFile::Text)) {
      	QTextStream in(&file);
      	QApplication::setOverrideCursor(Qt::WaitCursor);
      	zonePrevisualisation->setText(in.readAll());
      	QApplication::restoreOverrideCursor();
      }
      


      pour enregistrer :

      QFile file(chemin); // chemin est un QString
      if (file.open(QIODevice::ReadOnly | QFile::Text)) {
      	QTextStream in(&file);
      	QApplication::setOverrideCursor(Qt::WaitCursor);
      	out << zonePrevisualisation->text();
      	QApplication::restoreOverrideCursor();
      }
      
      • Partager sur Facebook
      • Partager sur Twitter
      Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
        29 novembre 2008 à 10:22:45

        Merci beaucoup de ta réponse :)
        Mais sais-tu comment enregistrer en mode toHtml() pour les QTextEdit ?
        • Partager sur Facebook
        • Partager sur Twitter

        [QScintilla] Enregistrer les données d'un QsciScintilla

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown