Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt] Problème de destruction d'un objet QSyntaxHighlighter

pour créer un éditeur de texte

Sujet résolu
Anonyme
    10 octobre 2007 à 20:13:35

    Bonjour, pour réaliser un éditeur de texte qui colore le c++ ainsi que plus tard d'autre language, j'utilise une sous classe de QSyntaxHighlighter, mais lorsque je veux la détruire, le fait de réinitialiser le pointeur qui pointe vers cette object ne le détruit pas, ce qui fait que j'ai toujours la coloration syntaxique du C++ lorsque j'ouvre mes fichier .pro!

    j'ai créé un fonction qui est sensé faire ca, et qui fait une sortie dans la barre de statut :

    1. void MainWindow::setSyntaxHighLighter(const QString &languageName)
    2.  {
    3.      if(languageName == "")
    4.      {
    5.          highlighter = NULL;
    6.      }
    7.      else if(languageName == "pro")
    8.      {
    9.          highlighter = NULL;
    10.          statusBar()->showMessage("fichier pro", 2000);
    11.      }
    12.      else if(languageName == "cpp")
    13.      {
    14.          statusBar()->showMessage("fichier cpp", 2000);
    15.          highlighter = new cpp_Highlighter(textEdit->document());
    16.      }
    17.      else
    18.      {
    19.          highlighter = NULL;
    20.      }
    21. }


    Donc avec ce code, je suis sur a 100% de ce qui se passe, et que lorsque j'ouvre un fichier .pro, je ne créé pas un nouvel objet cpp_HighLighter, et qu'au contraire je remet le pointeur a NULL.

    Pourtant, lorsque j'ai mon fichier .pro, et que je tape 'int', ca me le colore quand même!

    Merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      10 octobre 2007 à 21:16:42

      Pour info, il est conseillé de suivre cette règle : NULL en C++ c'est 0 (et pas NULL comme en C).
      Ensuite j'ai une question : pourquoi ne pas utiliser delete? Enfin ta technique me parait bizarre (p-ê manque un bout de code pour que je comprenne, je sais pas).
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        10 octobre 2007 à 21:29:13

        a ouai, j'avais pas penser :D

        ca marche bien comme ca, merci^^

        Voila, maintenant plus qu'a faire la coloration pour les fichiers .pro et .qrc!
        • Partager sur Facebook
        • Partager sur Twitter

        [Qt] Problème de destruction d'un objet QSyntaxHighlighter

        × 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