Partage
  • Partager sur Facebook
  • Partager sur Twitter

Widget qui s'auto ferme à vitesse eclair

    1 octobre 2008 à 18:58:56

    Bonjour,

    Je suis actuellement en train de faire un programme où j'aurais besoin d'ouvrir un nouveau widget type fenêtre en cliquant sur un bouton. J'ai essayé d'y parvenir en déclarant un nouveau widget dans un auto connect. Voici mon code :

    void Calculette::on_fonctionnement_clicked()
    {
         QWidget modeEmploi;
    
         modeEmploi.show();
    
    
    }
    


    La compilation réussit. Lorsque je clique sur le bouton, mon widget s'auto ferme à vitesse eclair.

    Savez-vous d'où vient le problème ?

    Merci !

    The fan of charlotte
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      1 octobre 2008 à 19:13:01

      Fait de ce widget un pointeur.
      • Partager sur Facebook
      • Partager sur Twitter
        1 octobre 2008 à 19:17:25

        void Calculette::on_fonctionnement_clicked()
        {
             QWidget *modeEmploi = new QWidget(this);
             modeEmploi->show();
        }
        
        • Partager sur Facebook
        • Partager sur Twitter
          1 octobre 2008 à 19:45:02

          oui, j'ai réussit ! Mais comment je peux après utiliser QLabel ? pour afficher du texte sur mon widget ?
          • Partager sur Facebook
          • Partager sur Twitter
            1 octobre 2008 à 19:50:56

            Un truc du genre :

            void Calculette::on_fonctionnement_clicked()
            {
                QWidget *modeEmploi = new QWidget(this);
            
                QLabel *texte = new QLabel("Voici du texte");
            
                QHBoxLayout *layout = new QHBoxLayout;
                layout->addWidget(texte);
            
                modeEmploi->setLayout(layout);
                modeEmploi->show();
            }
            

            • Partager sur Facebook
            • Partager sur Twitter
              1 octobre 2008 à 19:51:19

              ok merci je vais essayer ;) c'est normale que le texte soit au milieu du widget ?
              • Partager sur Facebook
              • Partager sur Twitter
                1 octobre 2008 à 20:03:01

                Oui, mais tu peux le placer comme tu veux avec un setAlignmen(Qt::Alignment) ;)

                Exemple :

                void Calculette::on_fonctionnement_clicked()
                {
                    QWidget *modeEmploi = new QWidget(this);
                
                    QLabel *texte = new QLabel("Voici du texte");
                    texte->setAlignment(Qt::AlignCenter);
                
                    QHBoxLayout *layout = new QHBoxLayout;
                    layout->addWidget(texte);
                    layout->->setAlignment(Qt::AlignCenter);
                
                    modeEmploi->setLayout(layout);
                    modeEmploi->show();
                }
                


                Je ne pense pas qu'il faut préciser l'alignement pour le QLabel et layout mais dans le doute j'ai préféré le mettre aux deux ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  1 octobre 2008 à 20:05:02

                  ok merci. Normalement je dois avoir le texte en haut !?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    1 octobre 2008 à 20:56:10

                    Après un petit recule je crois (étant donné qu'il n'y a que du texte à afficher) qu'un positionnement absolu serait plus clair et pratique.

                    void Calculette::on_fonctionnement_clicked()
                    {
                        QWidget *modeEmploi = new QWidget(this);
                        QLabel *texte = new QLabel("Voici du texte",modeEmploi);
                        texte->move(10,10);
                        modeEmploi->show();
                    }
                    
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Widget qui s'auto ferme à vitesse eclair

                    × 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