Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur sigsegv dans QMenu

Sujet résolu
    14 novembre 2021 à 10:42:11

    bonjour je suis en train de faire un icone de notification dans ma barre des tache. dans celui ci il y a un QMenu mais je narive pas a ajouter dynamiquement des bouton

    dans le constructeur :

    QMenu* stmenu = new QMenu(this);
        startSticon();
        sticon = new QSystemTrayIcon(this); // on construit notre icône de notification
        QAction *actTexte1 = new QAction("&Quitter", this);
        stmenu->addAction(actTexte1);
        sticon->setContextMenu(stmenu); // On assigne le menu contextuel à l'icône de notification
        QIcon icon(":/icone/TaskbarChanger.png");
        sticon->setIcon(icon); // On assigne une image à notre icône
        sticon->show(); // On affiche l'icône
    

    dans la fonction

    void taskbarchanger::newTaskBar(QString name, bool toBeSaved){
        taskbarre* bar = new taskbarre(name, toBeSaved);
        nameOfTaskbar.append(bar->name);
        ui->listWidget->addItem(name);
        QAction* addtasskbar = new QAction(name,this);
        stmenu->addAction(addtasskbar);
        connect(addtasskbar, &QAction::triggered, bar, &taskbarre::restore);
        if(toBeSaved){
            settings->setValue("numberOfTaskBar",nameOfTaskbar);
        }
    }

    je me prend une erreur sigsegv a la ligne 5 de la fonction quand je regarde mieux en debug la valeur de stmenu est 0x0

    je ne comprend pas pourquoi. pouvez vous m'aider ?

    merci d'avance


    • Partager sur Facebook
    • Partager sur Twitter
      14 novembre 2021 à 13:19:32

      Bonjour,

      Dans ton constructeur, tu y crées une variable locale qui s'appelle stmenu (la première ligne). Tu sembles avoir une variable membre qui porte le même nom, c'est elle qui est restée nulle. Tu devrais écrire en ligne 1:

      stmenu = new QMenu(this);
      • Partager sur Facebook
      • Partager sur Twitter

      En recherche d'emploi.

        14 novembre 2021 à 13:35:42

        merci c'était ca !!!

        sujet résolut 

        • Partager sur Facebook
        • Partager sur Twitter

        erreur sigsegv dans QMenu

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown