Partage
  • Partager sur Facebook
  • Partager sur Twitter

error: invalid use of 'void'

Pourquoi??

Sujet résolu
    19 octobre 2008 à 19:55:16

    Bonjour, tout mon problème est décris dans le titre alors:
    Voici le code entier:
    /*main.cpp*/
    
    #include <QApplication>
    #include <QtGui>
    #include <QTranslator>
    #include <QLocale>
    #include <QLibraryInfo>
    #include "FenPrincipale.h"
    
    int main(int argc, char *argv[])
    {
        QApplication app(argc, argv);
    
        QString locale = QLocale::system().name();
        QTranslator translator;
        translator.load(QString("qt_") + locale, QLibraryInfo::location(QLibraryInfo::TranslationsPath));
        app.installTranslator(&translator);
    
        FenPrincipale fenetre;
        fenetre.show();
    
        return app.exec();
    }
    

    /*FenPrincipale.cpp*/
    #include "FenPrincipale.h"
    
    FenPrincipale::FenPrincipale()
    {
      setMinimumSize(900, 600);
      setWindowIcon(QIcon("106.png"));
      setWindowTitle("E-T");
    
    
        QMenu *menuFichier = menuBar()->addMenu(tr("&Fichier"));
    
            nouveau = menuFichier->addAction(tr("&Nouveau"));
                nouveau->setIcon(QIcon("nouveau.png"));
                nouveau->setStatusTip(tr("Ouvre un fichier vide"));
    
            ouvrir = menuFichier->addAction(tr("&Ouvrir..."));
                ouvrir->setIcon(QIcon("ouvrir.png"));
                ouvrir->setStatusTip(tr("Ouvre un fichier de votre DisqueDur"));
    
            enreg = menuFichier->addAction(tr("En&registrer"));
                enreg->setIcon(QIcon("101.png"));
    
            enregs = menuFichier->addAction(tr("&Enregistrer sous..."));
    
            Imprimer = menuFichier->addAction(tr("&Imprimer"));
                Imprimer->setIcon(QIcon("37.png"));
    
            QAction *actionQuitter = menuFichier->addAction(tr("&Quitter"));
                actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
                actionQuitter->setIcon(QIcon("53.png"));
    
    
        QMenu *menuEdition = menuBar()->addMenu(tr("&Edition"));
            annuler = menuEdition->addAction(tr("&Annuler"));
                annuler->setIcon(QIcon("annuler.png"));
                annuler->setStatusTip(tr("Annule la dernière action"));
    
            refaire = menuEdition->addAction(tr("Refaire"));
                refaire->setIcon(QIcon("refaire.png"));
                refaire->setStatusTip(tr("Refait l'action"));
    
                menuEdition->addSeparator();
    
            QAction *selectionnerTout = menuEdition->addAction(tr("&Sélectionner tout"));
                    selectionnerTout->setStatusTip(tr("Selectionne tout le texte"));
    
            couper = menuEdition->addAction(tr("Couper"));
                    couper->setIcon(QIcon("cut.png"));
                    couper->setStatusTip(tr("Coupe le texte sélectionné"));
    
            copier = menuEdition->addAction(tr("Copier"));
                    copier->setIcon(QIcon("copy.png"));
                    copier->setStatusTip(tr("Copie le texte sélectionné"));
    
            coller = menuEdition->addAction(tr("Coller"));
                    coller->setIcon(QIcon("paste.png"));
                    coller->setStatusTip(tr("Colle le texte copié"));
    
            QAction *actionEffacer = menuEdition->addAction(tr("&Supprimer"));
                    actionEffacer->setIcon(QIcon("quitter.png"));
    
                menuEdition->addSeparator();
    
            choixCouleur = menuEdition->addAction(tr("&Couleur..."));
                choixCouleur->setIcon(QIcon("57.png"));
                choixCouleur->setStatusTip(tr("Change la couleur du texte sélectionné"));
    
    
    
            actionGras = menuEdition->addAction(tr("&Gras"));
                actionGras->setCheckable(true);
                actionGras->setIcon(QIcon("gras.png"));
                actionGras->setStatusTip(tr("Afficher le texte en gras"));
    
            QAction *actionItalique = menuEdition->addAction(tr("&Italique"));
                    actionItalique->setCheckable(true);
                    actionItalique->setIcon(QIcon("italique.png"));
                    actionItalique->setStatusTip(tr("Afficher le texte en italique"));
    
            QAction *actionSouligner = menuEdition->addAction(tr("So&uligné"));
                    actionSouligner->setCheckable(true);
                    actionSouligner->setIcon(QIcon("souligne.png"));
                    actionSouligner->setStatusTip(tr("Souligner le texte"));
    
        QMenu *menuInserer = menuBar()->addMenu(tr("&Inserer"));
            image = menuInserer->addAction(tr("I&nsérer une image"));
                    image->setIcon(QIcon("20.png"));
                    image->setStatusTip(tr("Permet d'insérer une image"));
    
        QMenu *menuAffichage = menuBar()->addMenu(tr("&Affichage"));
            afficherBE = menuAffichage->addAction(tr("Barre d'état"));
                    afficherBE->setCheckable(true);
                    afficherBE->setChecked(true);
                    afficherBE->setStatusTip(tr("Affiche/masque la barre d'état"));
    
        QMenu *menuAide = menuBar()->addMenu(tr("&?"));
            aPropos = menuAide->addAction(tr("A prepos de E-T..."));
                    aPropos->setIcon(QIcon("106.png"));
                    aPropos->setStatusTip(tr("Donne des informations sur E-T"));
    
        QToolBar *toolBarFichier = addToolBar("Barre d'outils");
        toolBarFichier->addAction(actionQuitter);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(nouveau);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(ouvrir);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(enreg);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(Imprimer);
        QLabel *label = new QLabel("                                                                                       ");
        toolBarFichier->addWidget(label);
        QFontComboBox *choixPolice = new QFontComboBox;
        choixPolice->setCurrentFont(QFont("Times New Roman"));
        toolBarFichier->addWidget(choixPolice);
        toolBarFichier->addSeparator();
        tailleTexte = new QComboBox;
        tailleTexte->addItem("8");
        tailleTexte->addItem("9");
        tailleTexte->addItem("10");
        tailleTexte->addItem("11");
        tailleTexte->addItem("12");
        tailleTexte->addItem("14");
        tailleTexte->addItem("16");
        tailleTexte->addItem("18");
        tailleTexte->addItem("20");
        tailleTexte->addItem("22");
        tailleTexte->addItem("24");
        tailleTexte->addItem("26");
        tailleTexte->addItem("28");
        tailleTexte->addItem("32");
        tailleTexte->addItem("36");
        tailleTexte->addItem("42");
        tailleTexte->addItem("72");
        tailleTexte->addItem("80");
        tailleTexte->setCurrentIndex(6);
        tailleTexte->setEditable(true);
        toolBarFichier->addWidget(tailleTexte);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(actionGras);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(actionItalique);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(actionSouligner);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(actionEffacer);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(couper);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(copier);
        toolBarFichier->addSeparator();
        toolBarFichier->addAction(coller);
    
    
        barreEtat = statusBar();
        barreEtat->showMessage(tr("Prêt"));
        actionQuitter->setStatusTip(tr("Quitte le programme"));
        enreg->setStatusTip(tr("Enregistre le texte"));
        actionEffacer->setStatusTip(tr("Supprime tout le texte"));
    
        zoneCentrale = new QMdiArea;
    
        zoneTexte1 = new QTextEdit;
    
        QMdiSubWindow *sousFenetre1 = zoneCentrale->addSubWindow(zoneTexte1);
    
        zoneTexte1->setWindowTitle("Sans titre");
        zoneTexte1->setStyleSheet("font-size: 16pt; font-style: \"Times New Roman\"");
    
        sousFenetre1->setWindowIcon(QIcon("106.png"));
    
        setCentralWidget(zoneCentrale);
    
        fichier1 = new QString;
        fichier1->clear();
        fichier = new QString;
        fichier->clear();
        QColor couleur;
    
        connect(actionQuitter, SIGNAL(triggered()), this, SLOT(Fermee()));
        connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));
        connect(choixCouleur, SIGNAL(triggered()), this, SLOT(ouvrirDialogue()));
        connect(choixPolice, SIGNAL(currentFontChanged(QFont)), zoneTexte1, SLOT(setCurrentFont(QFont)));
        connect(enregs, SIGNAL(triggered()), this, SLOT(SaveAs()));
        connect(ouvrir, SIGNAL(triggered()), this, SLOT(Open()));
        connect(Imprimer, SIGNAL(triggered()), this, SLOT(imprimerTexte()));
        connect(actionEffacer, SIGNAL(triggered()), zoneTexte1, SLOT(clear()));
        connect(actionGras, SIGNAL(triggered()), this, SLOT(texteGras()));
        connect(actionItalique, SIGNAL(triggered(bool)), zoneTexte1, SLOT(setFontItalic(bool)));
        connect(actionSouligner, SIGNAL(triggered(bool)), zoneTexte1, SLOT(setFontUnderline(bool)));
        connect(nouveau, SIGNAL(triggered()), this, SLOT(nouveau1()));
        connect(enreg, SIGNAL(triggered()), this, SLOT(Save()));
        connect(tailleTexte, SIGNAL(currentIndexChanged(QString)), this, SLOT(changerTailleTexte()));
        connect(this, SIGNAL(destroyed()), this, SLOT(Fermee()));
        connect(selectionnerTout, SIGNAL(triggered()), zoneTexte1, SLOT(selectAll()));
        connect(afficherBE, SIGNAL(triggered(bool)), this, SLOT(ABE()));
        connect(annuler, SIGNAL(triggered()),zoneTexte1 , SLOT(undo()));
        connect(refaire, SIGNAL(triggered()),zoneTexte1 , SLOT(redo()));
        connect(couper, SIGNAL(triggered()),zoneTexte1 , SLOT(cut()));
        connect(copier, SIGNAL(triggered()),zoneTexte1 , SLOT(copy()));
        connect(coller, SIGNAL(triggered()),zoneTexte1 , SLOT(paste()));
        connect(aPropos, SIGNAL(triggered()), this, SLOT(propos()));
        connect(image, SIGNAL(triggered()), this, SLOT(insererImage()));
    }
    void FenPrincipale::ouvrirDialogue()
    {
        *couleur = QColorDialog::getColor(Qt::white, this);
        QString sheet = ("font-size:"+ QString::number(tailleTexte->currentText().toInt()) +"pt;color: %1").arg(couleur->name());
        zoneTexte1->setStyleSheet(sheet);
    
    }
    void FenPrincipale::SaveAs()
    {
        QString fichier1 = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
        if (fichier1.isEmpty()) return;
        QFile file(fichier1);
    
        if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
        {
            // permet d'écrire dans le fichier
            zoneTexte1->setWindowTitle(fichier1);
            QTextStream out(&file);
            out << zoneTexte1->toHtml();
            file.close();
        }
    
        else
            QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
    
    }
    
    void FenPrincipale::Open()
    {
        *fichier = QFileDialog::getOpenFileName(this, "Ouvrir un fichier", QString(), "Tous types (*.*)");
    
        QFile file(*fichier);
        if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
        return;
    
        zoneTexte1->setText(QString(file.readAll()));
        zoneTexte1->setWindowTitle(*fichier);
    
    }
    void FenPrincipale::imprimerTexte()
    {
        QPrinter printer;
        QTextDocument doc;
        QString TE = zoneTexte1->toHtml();
        doc.setHtml(TE);
    
         QPrintDialog *dialog = new QPrintDialog(&printer, this);
         dialog->setWindowTitle(tr("Imprimer un document"));
    
         if (zoneTexte1->textCursor().hasSelection())
             dialog->addEnabledOption(QAbstractPrintDialog::PrintSelection);
    
         if (dialog->exec() == QDialog::Accepted)
             doc.print(&printer);
             return;
    }
    void FenPrincipale::texteGras()
    {
        if(actionGras->isChecked())
            return zoneTexte1->setFontWeight(QFont::Bold);
    
        return zoneTexte1->setFontWeight(QFont::Normal);
    }
    void FenPrincipale::nouveau1()
    {
        if(!zoneTexte1->toPlainText().isEmpty())
        {
            int reponse = QMessageBox::question(this, "Enregistrer", "Voulez-vous enregistrer le document en cours?", QMessageBox::Yes, QMessageBox::No);
            if(reponse == QMessageBox::Yes)
            {
                QString fichier1 = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
                if (fichier1.isEmpty()) return;
                QFile file(fichier1);
    
                if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
                {
                    // permet d'écrire dans le fichier
                    zoneTexte1->setWindowTitle(fichier1);
                    QTextStream out(&file);
                    out << zoneTexte1->toHtml();
                    file.close();
                    zoneTexte1->clear();
                }
    
                else
                    QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
            }
            else if(reponse == QMessageBox::No)
            {
                zoneTexte1->clear();
            }
            else
            {
                return;
            }
        }
        else
        {
            return;
        }
    }
    void FenPrincipale::Save()
    {
        if (fichier1->isEmpty())
        {
            *fichier1 = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
            if (fichier1->isEmpty()) return;
            QFile file(*fichier1);
    
            if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
            {
                // permet d'écrire dans le fichier
                zoneTexte1->setWindowTitle(*fichier1);
                QTextStream out(&file);
                out << zoneTexte1->toHtml();
                file.close();
                barreEtat->showMessage("Enregistré!", 2000);
            }
    
            else
                QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
        }
        else if (!fichier1->isEmpty())
        {
            QFile file(*fichier1);
    
            if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
            {
                // permet d'écrire dans le fichier
    
                QTextStream out(&file);
                out << zoneTexte1->toHtml();
                file.close();
                barreEtat->showMessage("Enregistré!", 2000);
            }
    
            else
                QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
        }
    }
    void FenPrincipale::changerTailleTexte()
    {
        int valeurTailleTexte = tailleTexte->currentText().toInt();
    
        if(valeurTailleTexte > 200)
        {
            QMessageBox::warning(this, "Attention!", "La valeur doit être comprise entre 5 et 200!");
            tailleTexte->setCurrentIndex(6);
            valeurTailleTexte = 16 ;
        }
        else if(valeurTailleTexte < 5)
        {
            QMessageBox::warning(this, "Attention!", "La valeur doit être comprise entre 5 et 200!");
            tailleTexte->setCurrentIndex(6);
            valeurTailleTexte = 16 ;
        }
    
        else
        {
            zoneTexte1->setStyleSheet("font-size:"+ QString::number(valeurTailleTexte) +"pt;color: %1").arg(couleur->name());
        }
    }
    void FenPrincipale::Fermee()
    {
        int fermer = QMessageBox::question(this, "Enregistrer", "Voulez-vous enregistrer le document en cours?", QMessageBox::Yes, QMessageBox::No);
        if(fermer == QMessageBox::Yes)
        {
            QString fichier2 = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
            if (fichier2.isEmpty()) return;
            QFile file(fichier2);
    
            if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
            {
            // permet d'écrire dans le fichier
                zoneTexte1->setWindowTitle(fichier2);
                QTextStream out(&file);
                out << zoneTexte1->toHtml();
                file.close();
                return;
            }
    
            else
                QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
                return;
        }
        else if(fermer == QMessageBox::No)
        {
            return;
        }
        else
        {
            return;
        }
    }
    void FenPrincipale::ABE()
    {
        if(afficherBE->isChecked())
        {
            barreEtat->show();
        }
        else if(!afficherBE->isChecked())
        {
            barreEtat->hide();
        }
    }
    void FenPrincipale::propos()
    {
        QMessageBox::information(this, "A propos de Editeur de Textes (E-T)","E-T est un logiciel crée par l'entreprise Myax's, inc grâce à Qt. <br /><strong>AUCUNE COPIE N'EST AUTORISEE</strong> sauf autorisation spéciale en provenance d'un ou des créateurs. Pour éventuellement obtenir une autorisation ou pour signaler un défaut, ou encore envoyer une suggestion, contactez-nous à l'adresse: <span style='color:blue;'>myaxs.inc@free.fr</span>. " );
    }
    void FenPrincipale::insererImage()
    {
        QString cheminImage = QFileDialog::getOpenFileName(this, "Choisir une image", QString(), "Images (*.*)");
    
        QString texteFinal = zoneTexte1->toHtml() + "<img src = \""+ cheminImage +"\" alt = \"\"/>";
    
        zoneTexte1->setHtml(texteFinal);
    }
    

    /*FenPrincipale.h*/
    
    #ifndef HEADER_FENPRINCIPALE
    #define HEADER_FENPRINCIPALE
    
    #include <QtGui>
    #include <stdlib.h>
    #include <stdio.h>
    #include <fstream>
    #include <QFile>
    
    
    class FenPrincipale : public QMainWindow
    {
    	Q_OBJECT
    
    	public:
    		FenPrincipale();
    
    
        public slots:
            void ouvrirDialogue();
            void SaveAs();
            void Open();
            void imprimerTexte();
            void texteGras();
            void nouveau1();
            void Save();
            void changerTailleTexte();
            void Fermee();
            void ABE();
            void propos();
            void insererImage();
    
    	private:
        QAction *choixCouleur;
        QAction *ouvrir;
        QAction *enreg;
        QAction *Imprimer;
        QAction *actionGras;
        QAction *nouveau;
        QAction *enregs;
        QAction *selectionnerTout;
        QAction *afficherBE;
        QAction *annuler;
        QAction *refaire;
        QAction *couper;
        QAction *copier;
        QAction *coller;
        QAction *aPropos;
        QAction *image;
    
        QString *fichier1;
        QString *fichier;
    
        QTextEdit *zoneTexte1;
    
        QStatusBar *barreEtat;
    
        QFile *file;
    
        QMdiArea *zoneCentrale;
    
        QPrintDialog *dialogue;
    
        QComboBox *tailleTexte;
    
        QToolBar *toolBarFichier;
    
        QFontComboBox *choixPolice;
    
        QColor *couleur;
    };
    
    
    #endif
    




    Le bout de code qui plante:
    void FenPrincipale::changerTailleTexte()
    {
        int valeurTailleTexte = tailleTexte->currentText().toInt();
    
        if(valeurTailleTexte > 200)
        {
            QMessageBox::warning(this, "Attention!", "La valeur doit être comprise entre 5 et 200!");
            tailleTexte->setCurrentIndex(6);
            valeurTailleTexte = 16 ;
        }
        else if(valeurTailleTexte < 5)
        {
            QMessageBox::warning(this, "Attention!", "La valeur doit être comprise entre 5 et 200!");
            tailleTexte->setCurrentIndex(6);
            valeurTailleTexte = 16 ;
        }
    
        else
        {
            zoneTexte1->setStyleSheet("font-size:"+ QString::number(valeurTailleTexte) +"pt;color: %1").arg(couleur->name());
        }
    }
    


    et l'erreur de compilation:
    FenPrincipale.cpp:365:error: invalid use of 'void'


    Pouvez-vous me dire, S'il vous plait,pourquoi il me dit ça??

    Merci!! :)
    • Partager sur Facebook
    • Partager sur Twitter

    L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

      19 octobre 2008 à 19:57:36

      merci de ta réponse...
      • Partager sur Facebook
      • Partager sur Twitter

      L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

      Anonyme
        19 octobre 2008 à 20:13:01

        Citation : yann33470

        merci de ta réponse...

        Je suis sur que c'était de bon coeur !!

        zoneTexte1->setStyleSheet("font-size:"+ QString::number(valeurTailleTexte) +"pt;color: %1").arg(couleur->name());
        
        T'a oublier des parenthèses, là tu fais .arg(couleur->name()) sur le retour de la fonction setStyleSheet(), soit sur rien.

        zoneTexte1->setStyleSheet(("font-size:"+ QString::number(valeurTailleTexte) +"pt;color: %1").arg(couleur->name()));
        
        Voir même :
        zoneTexte1->setStyleSheet("font-size:"+ QString::number(valeurTailleTexte) + "pt;color: " + couleur->name());
        
        • Partager sur Facebook
        • Partager sur Twitter
          19 octobre 2008 à 20:45:23

          bin maintenant, j'ai un beau plantage version windows quand je clique sur "couleur..." :'( .
          • Partager sur Facebook
          • Partager sur Twitter

          L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

            19 octobre 2008 à 20:54:53

            Citation : Hertzien'

            Bonjour, Merci, Bye


            +1 Bonjour, s'il vous plaît et merci n'ont jamais tué personne :o ... Et ça fait toujours plaisir ($$ de quoi avoir plein de réponses $$) ;) .
            • Partager sur Facebook
            • Partager sur Twitter
              19 octobre 2008 à 21:05:54

              j'ai pas dit que c'était pas bien :p
              • Partager sur Facebook
              • Partager sur Twitter

              L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

                19 octobre 2008 à 22:07:12

                ... ils te disaient que si tu voulais avoir des réponses (et même d'ailleurs c'est pas la bonne raison selon moi mais bon...) tu avais tout intérêt à utiliser les politesses d'usage.. (bonjour s'il vous plait merci..)
                • Partager sur Facebook
                • Partager sur Twitter
                  20 octobre 2008 à 16:59:00

                  Ah ok désolé :euh:
                  je vais éditer mon message...

                  ÉDIT: Message édité!! :)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

                  Anonyme
                    20 octobre 2008 à 18:59:19

                    Citation : yann33470

                    bin maintenant, j'ai un beau plantage version windows quand je clique sur "couleur..." :'( .

                    Ça doit venir de
                    *couleur = QColorDialog::getColor(Qt::white, this);
                    
                    Ne mélange pas les pointeurs et les objets "normaux".
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 octobre 2008 à 21:17:50

                      Non, ça n'était pas ça, j'avais juste mal initialisé "couleur" dans le constructeur!! :D
                      voici le nouveau code:
                      /*FenPrincipale.cpp*/
                      #include "FenPrincipale.h"
                      
                      FenPrincipale::FenPrincipale()
                      {
                        setMinimumSize(900, 600);
                        setWindowIcon(QIcon("106.png"));
                        setWindowTitle("E-T");
                      
                      
                          QMenu *menuFichier = menuBar()->addMenu(tr("&Fichier"));
                      
                              nouveau = menuFichier->addAction(tr("&Nouveau"));
                                  nouveau->setIcon(QIcon("nouveau.png"));
                                  nouveau->setStatusTip(tr("Ouvre un fichier vide"));
                      
                              ouvrir = menuFichier->addAction(tr("&Ouvrir..."));
                                  ouvrir->setIcon(QIcon("ouvrir.png"));
                                  ouvrir->setStatusTip(tr("Ouvre un fichier de votre DisqueDur"));
                      
                              enreg = menuFichier->addAction(tr("En&registrer"));
                                  enreg->setIcon(QIcon("101.png"));
                      
                              enregs = menuFichier->addAction(tr("&Enregistrer sous..."));
                      
                              Imprimer = menuFichier->addAction(tr("&Imprimer"));
                                  Imprimer->setIcon(QIcon("37.png"));
                      
                              QAction *actionQuitter = menuFichier->addAction(tr("&Quitter"));
                                  actionQuitter->setShortcut(QKeySequence("Ctrl+Q"));
                                  actionQuitter->setIcon(QIcon("53.png"));
                      
                      
                          QMenu *menuEdition = menuBar()->addMenu(tr("&Edition"));
                              annuler = menuEdition->addAction(tr("&Annuler"));
                                  annuler->setIcon(QIcon("annuler.png"));
                                  annuler->setStatusTip(tr("Annule la dernière action"));
                      
                              refaire = menuEdition->addAction(tr("Refaire"));
                                  refaire->setIcon(QIcon("refaire.png"));
                                  refaire->setStatusTip(tr("Refait l'action"));
                      
                                  menuEdition->addSeparator();
                      
                              QAction *selectionnerTout = menuEdition->addAction(tr("&Sélectionner tout"));
                                      selectionnerTout->setStatusTip(tr("Selectionne tout le texte"));
                      
                              couper = menuEdition->addAction(tr("Couper"));
                                      couper->setIcon(QIcon("cut.png"));
                                      couper->setStatusTip(tr("Coupe le texte sélectionné"));
                      
                              copier = menuEdition->addAction(tr("Copier"));
                                      copier->setIcon(QIcon("copy.png"));
                                      copier->setStatusTip(tr("Copie le texte sélectionné"));
                      
                              coller = menuEdition->addAction(tr("Coller"));
                                      coller->setIcon(QIcon("paste.png"));
                                      coller->setStatusTip(tr("Colle le texte copié"));
                      
                              QAction *actionEffacer = menuEdition->addAction(tr("&Supprimer"));
                                      actionEffacer->setIcon(QIcon("quitter.png"));
                      
                                  menuEdition->addSeparator();
                      
                              choixCouleur = menuEdition->addAction(tr("&Couleur..."));
                                  choixCouleur->setIcon(QIcon("57.png"));
                                  choixCouleur->setStatusTip(tr("Change la couleur du texte sélectionné"));
                      
                      
                      
                              actionGras = menuEdition->addAction(tr("&Gras"));
                                  actionGras->setCheckable(true);
                                  actionGras->setIcon(QIcon("gras.png"));
                                  actionGras->setStatusTip(tr("Afficher le texte en gras"));
                      
                              QAction *actionItalique = menuEdition->addAction(tr("&Italique"));
                                      actionItalique->setCheckable(true);
                                      actionItalique->setIcon(QIcon("italique.png"));
                                      actionItalique->setStatusTip(tr("Afficher le texte en italique"));
                      
                              QAction *actionSouligner = menuEdition->addAction(tr("So&uligné"));
                                      actionSouligner->setCheckable(true);
                                      actionSouligner->setIcon(QIcon("souligne.png"));
                                      actionSouligner->setStatusTip(tr("Souligner le texte"));
                      
                          QMenu *menuInserer = menuBar()->addMenu(tr("&Inserer"));
                              image = menuInserer->addAction(tr("I&nsérer une image"));
                                      image->setIcon(QIcon("20.png"));
                                      image->setStatusTip(tr("Permet d'insérer une image"));
                      
                          QMenu *menuAffichage = menuBar()->addMenu(tr("&Affichage"));
                              afficherBE = menuAffichage->addAction(tr("Barre d'état"));
                                      afficherBE->setCheckable(true);
                                      afficherBE->setChecked(true);
                                      afficherBE->setStatusTip(tr("Affiche/masque la barre d'état"));
                      
                          QMenu *menuAide = menuBar()->addMenu(tr("&?"));
                              aPropos = menuAide->addAction(tr("A prepos de E-T..."));
                                      aPropos->setIcon(QIcon("106.png"));
                                      aPropos->setStatusTip(tr("Donne des informations sur E-T"));
                      
                          QToolBar *toolBarFichier = addToolBar("Barre d'outils");
                          toolBarFichier->addAction(actionQuitter);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(nouveau);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(ouvrir);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(enreg);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(Imprimer);
                          QLabel *label = new QLabel("                                                                                       ");
                          toolBarFichier->addWidget(label);
                          QFontComboBox *choixPolice = new QFontComboBox;
                          choixPolice->setCurrentFont(QFont("Times New Roman"));
                          toolBarFichier->addWidget(choixPolice);
                          toolBarFichier->addSeparator();
                          tailleTexte = new QComboBox;
                          tailleTexte->addItem("8");
                          tailleTexte->addItem("9");
                          tailleTexte->addItem("10");
                          tailleTexte->addItem("11");
                          tailleTexte->addItem("12");
                          tailleTexte->addItem("14");
                          tailleTexte->addItem("16");
                          tailleTexte->addItem("18");
                          tailleTexte->addItem("20");
                          tailleTexte->addItem("22");
                          tailleTexte->addItem("24");
                          tailleTexte->addItem("26");
                          tailleTexte->addItem("28");
                          tailleTexte->addItem("32");
                          tailleTexte->addItem("36");
                          tailleTexte->addItem("42");
                          tailleTexte->addItem("72");
                          tailleTexte->addItem("80");
                          tailleTexte->setCurrentIndex(6);
                          tailleTexte->setEditable(true);
                          toolBarFichier->addWidget(tailleTexte);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(actionGras);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(actionItalique);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(actionSouligner);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(actionEffacer);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(couper);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(copier);
                          toolBarFichier->addSeparator();
                          toolBarFichier->addAction(coller);
                      
                      
                          barreEtat = statusBar();
                          barreEtat->showMessage(tr("Prêt"));
                          actionQuitter->setStatusTip(tr("Quitte le programme"));
                          enreg->setStatusTip(tr("Enregistre le texte"));
                          actionEffacer->setStatusTip(tr("Supprime tout le texte"));
                      
                          zoneCentrale = new QMdiArea;
                      
                          zoneTexte1 = new QTextEdit;
                      
                          QMdiSubWindow *sousFenetre1 = zoneCentrale->addSubWindow(zoneTexte1);
                      
                          zoneTexte1->setWindowTitle("Sans titre");
                          zoneTexte1->setStyleSheet("font-size: 16pt; font-style: \"Times New Roman\"");
                      
                          sousFenetre1->setWindowIcon(QIcon("106.png"));
                      
                          setCentralWidget(zoneCentrale);
                      
                          fichier1 = new QString;
                          fichier1->clear();
                          fichier = new QString;
                          fichier->clear();
                          couleur = new QColor;
                      
                          connect(actionQuitter, SIGNAL(triggered()), this, SLOT(Fermee()));
                          connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));
                          connect(choixCouleur, SIGNAL(triggered()), this, SLOT(changerCouleur()));
                          connect(choixPolice, SIGNAL(currentFontChanged(QFont)), zoneTexte1, SLOT(setCurrentFont(QFont)));
                          connect(enregs, SIGNAL(triggered()), this, SLOT(SaveAs()));
                          connect(ouvrir, SIGNAL(triggered()), this, SLOT(Open()));
                          connect(Imprimer, SIGNAL(triggered()), this, SLOT(imprimerTexte()));
                          connect(actionEffacer, SIGNAL(triggered()), zoneTexte1, SLOT(clear()));
                          connect(actionGras, SIGNAL(triggered()), this, SLOT(texteGras()));
                          connect(actionItalique, SIGNAL(triggered(bool)), zoneTexte1, SLOT(setFontItalic(bool)));
                          connect(actionSouligner, SIGNAL(triggered(bool)), zoneTexte1, SLOT(setFontUnderline(bool)));
                          connect(nouveau, SIGNAL(triggered()), this, SLOT(nouveau1()));
                          connect(enreg, SIGNAL(triggered()), this, SLOT(Save()));
                          connect(tailleTexte, SIGNAL(currentIndexChanged(QString)), this, SLOT(changerTailleTexte()));
                          connect(this, SIGNAL(destroyed()), this, SLOT(Fermee()));
                          connect(selectionnerTout, SIGNAL(triggered()), zoneTexte1, SLOT(selectAll()));
                          connect(afficherBE, SIGNAL(triggered(bool)), this, SLOT(ABE()));
                          connect(annuler, SIGNAL(triggered()),zoneTexte1 , SLOT(undo()));
                          connect(refaire, SIGNAL(triggered()),zoneTexte1 , SLOT(redo()));
                          connect(couper, SIGNAL(triggered()),zoneTexte1 , SLOT(cut()));
                          connect(copier, SIGNAL(triggered()),zoneTexte1 , SLOT(copy()));
                          connect(coller, SIGNAL(triggered()),zoneTexte1 , SLOT(paste()));
                          connect(aPropos, SIGNAL(triggered()), this, SLOT(propos()));
                          connect(image, SIGNAL(triggered()), this, SLOT(insererImage()));
                      }
                      void FenPrincipale::SaveAs()
                      {
                          QString fichier1 = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
                          if (fichier1.isEmpty()) return;
                          QFile file(fichier1);
                      
                          if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
                          {
                              // permet d'écrire dans le fichier
                              zoneTexte1->setWindowTitle(fichier1);
                              QTextStream out(&file);
                              out << zoneTexte1->toHtml();
                              file.close();
                          }
                      
                          else
                              QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
                      
                      }
                      
                      void FenPrincipale::Open()
                      {
                          *fichier = QFileDialog::getOpenFileName(this, "Ouvrir un fichier", QString(), "Tous types (*.*)");
                      
                          QFile file(*fichier);
                          if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
                          return;
                      
                          zoneTexte1->setText(QString(file.readAll()));
                          zoneTexte1->setWindowTitle(*fichier);
                      
                      }
                      void FenPrincipale::imprimerTexte()
                      {
                          QPrinter printer;
                          QTextDocument doc;
                          QString TE = zoneTexte1->toHtml();
                          doc.setHtml(TE);
                      
                           QPrintDialog *dialog = new QPrintDialog(&printer, this);
                           dialog->setWindowTitle(tr("Imprimer un document"));
                      
                           if (zoneTexte1->textCursor().hasSelection())
                               dialog->addEnabledOption(QAbstractPrintDialog::PrintSelection);
                      
                           if (dialog->exec() == QDialog::Accepted)
                               doc.print(&printer);
                               return;
                      }
                      void FenPrincipale::texteGras()
                      {
                          if(actionGras->isChecked())
                              return zoneTexte1->setFontWeight(QFont::Bold);
                      
                          return zoneTexte1->setFontWeight(QFont::Normal);
                      }
                      void FenPrincipale::nouveau1()
                      {
                          if(!zoneTexte1->toPlainText().isEmpty())
                          {
                              int reponse = QMessageBox::question(this, "Enregistrer", "Voulez-vous enregistrer le document en cours?", QMessageBox::Yes, QMessageBox::No);
                              if(reponse == QMessageBox::Yes)
                              {
                                  QString fichier1 = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
                                  if (fichier1.isEmpty()) return;
                                  QFile file(fichier1);
                      
                                  if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
                                  {
                                      // permet d'écrire dans le fichier
                                      zoneTexte1->setWindowTitle(fichier1);
                                      QTextStream out(&file);
                                      out << zoneTexte1->toHtml();
                                      file.close();
                                      zoneTexte1->clear();
                                  }
                      
                                  else
                                      QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
                              }
                              else if(reponse == QMessageBox::No)
                              {
                                  zoneTexte1->clear();
                              }
                              else
                              {
                                  return;
                              }
                          }
                          else
                          {
                              return;
                          }
                      }
                      void FenPrincipale::Save()
                      {
                          if (fichier1->isEmpty())
                          {
                              *fichier1 = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
                              if (fichier1->isEmpty()) return;
                              QFile file(*fichier1);
                      
                              if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
                              {
                                  // permet d'écrire dans le fichier
                                  zoneTexte1->setWindowTitle(*fichier1);
                                  QTextStream out(&file);
                                  out << zoneTexte1->toHtml();
                                  file.close();
                                  barreEtat->showMessage("Enregistré!", 2000);
                              }
                      
                              else
                                  QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
                          }
                          else if (!fichier1->isEmpty())
                          {
                              QFile file(*fichier1);
                      
                              if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
                              {
                                  // permet d'écrire dans le fichier
                      
                                  QTextStream out(&file);
                                  out << zoneTexte1->toHtml();
                                  file.close();
                                  barreEtat->showMessage("Enregistré!", 2000);
                              }
                      
                              else
                                  QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
                          }
                      }
                      void FenPrincipale::changerCouleur()
                      {
                          *couleur = QColorDialog::getColor(Qt::white, this);
                          int valeurTailleTexte2 = tailleTexte->currentText().toInt();
                      
                          if(valeurTailleTexte2 > 200)
                          {
                              QMessageBox::warning(this, "Attention!", "La valeur doit être comprise entre 5 et 200!");
                              tailleTexte->setCurrentIndex(6);
                              valeurTailleTexte2 = 16 ;
                          }
                          else if(valeurTailleTexte2 < 5)
                          {
                              QMessageBox::warning(this, "Attention!", "La valeur doit être comprise entre 5 et 200!");
                              tailleTexte->setCurrentIndex(6);
                              valeurTailleTexte2 = 16 ;
                          }
                      
                          else
                          {
                              zoneTexte1->setStyleSheet("font-size:"+ QString::number(valeurTailleTexte2) +"pt; color: " + couleur->name());
                          }
                      }
                      void FenPrincipale::changerTailleTexte()
                      {
                          int valeurTailleTexte = tailleTexte->currentText().toInt();
                      
                      
                          if(valeurTailleTexte > 200)
                          {
                              QMessageBox::warning(this, "Attention!", "La valeur doit être comprise entre 5 et 200!");
                              tailleTexte->setCurrentIndex(6);
                              valeurTailleTexte = 16 ;
                          }
                          else if(valeurTailleTexte < 5)
                          {
                              QMessageBox::warning(this, "Attention!", "La valeur doit être comprise entre 5 et 200!");
                              tailleTexte->setCurrentIndex(6);
                              valeurTailleTexte = 16 ;
                          }
                      
                          else
                          {
                              zoneTexte1->setStyleSheet("font-size:"+ QString::number(valeurTailleTexte) +"pt; color: " + couleur->name());
                          }
                      }
                      void FenPrincipale::Fermee()
                      {
                          int fermer = QMessageBox::question(this, "Enregistrer", "Voulez-vous enregistrer le document en cours?", QMessageBox::Yes, QMessageBox::No);
                          if(fermer == QMessageBox::Yes)
                          {
                              QString fichier2 = QFileDialog::getSaveFileName(this, "Enregistrer un fichier", ".","Texte(*.txt)");
                              if (fichier2.isEmpty()) return;
                              QFile file(fichier2);
                      
                              if (file.open(QFile::WriteOnly | QFile::Truncate)) // si l'ouverture s'est bien passée
                              {
                              // permet d'écrire dans le fichier
                                  zoneTexte1->setWindowTitle(fichier2);
                                  QTextStream out(&file);
                                  out << zoneTexte1->toHtml();
                                  file.close();
                                  return;
                              }
                      
                              else
                                  QMessageBox::warning(this,"Erreur","Une erreur s'est prosuite lors de l'ouverture du fichier");
                                  return;
                          }
                          else if(fermer == QMessageBox::No)
                          {
                              return;
                          }
                          else
                          {
                              return;
                          }
                      }
                      void FenPrincipale::ABE()
                      {
                          if(afficherBE->isChecked())
                          {
                              barreEtat->show();
                          }
                          else if(!afficherBE->isChecked())
                          {
                              barreEtat->hide();
                          }
                      }
                      void FenPrincipale::propos()
                      {
                          QMessageBox::information(this, "A propos de Editeur de Textes (E-T)","E-T est un logiciel crée par l'entreprise Myax's, inc grâce à Qt. <br /><strong>AUCUNE COPIE N'EST AUTORISEE</strong> sauf autorisation spéciale en provenance d'un ou des créateurs. Pour éventuellement obtenir une autorisation ou pour signaler un défaut, ou encore envoyer une suggestion, contactez-nous à l'adresse: <span style='color:blue;'>myaxs.inc@free.fr</span>. " );
                      }
                      void FenPrincipale::insererImage()
                      {
                          QString cheminImage = QFileDialog::getOpenFileName(this, "Choisir une image", QString(), "Images (*.*)");
                      
                          QString texteFinal = zoneTexte1->toHtml() + "<img src = \""+ cheminImage +"\" alt = \"\"/>";
                      
                          zoneTexte1->setHtml(texteFinal);
                      }
                      /*void FenPrincipale::textAlign(QAction *a)//rajouter
                      {
                           if (a == leftAct)
                              textEdit->setAlignment(Qt::AlignLeft);
                           else if (a == rightAct)
                              textEdit->setAlignment(Qt::AlignRight);
                           else if (a == centerAct)
                              textEdit->setAlignment(Qt::AlignHCenter);
                      }
                      */
                      


                      Merci de votre aide :lol::D;):)

                      Et a +!!
                      • Partager sur Facebook
                      • Partager sur Twitter

                      L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

                        21 octobre 2008 à 7:38:28

                        Merci, d'ailleur c'est la première fois que l'on me dit ça :lol: .
                        • Partager sur Facebook
                        • Partager sur Twitter

                        L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

                        Anonyme
                          21 octobre 2008 à 13:39:37

                          Citation : yann33470

                          Merci, d'ailleur c'est la première fois que l'on me dit ça :lol: .

                          Preuve que les règles ne sont même pas lues et qu'il faudrait taper plus fort sur les nouveaux.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            23 octobre 2008 à 7:55:53

                            non, c'est que en général, je ne suis pas très débrouillard :euh:
                            d'ailleurs, il y en a un exemple ici: fonction rechercher :-°
                            • Partager sur Facebook
                            • Partager sur Twitter

                            L'important n'est pas de savoir maîtriser une technologie à la perfection, mais d'avoir une belle capacité d'adaptation.

                            error: invalid use of 'void'

                            × 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