Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme QMainWindow

petite chose agacante...

Sujet résolu
    23 avril 2008 à 23:44:18

    b'jour tout le monde...
    tite question Qt
    j'ai une QMainWindow pour laquelle je fais un setCentralWidget d'un QTextEdit... jusque la rien d'extraordinaire...
    si je veux mettre autre chose dans mon QMainWindow, par exemple un tableau de 2 QTextEdit, je fais un setCentralWidget(tableauEnQuestion)...
    si apres, je refais un setCentralWidget(mon premier textEdit) ->GROS PLANTAGE!

    me suis dit, faut le redeclarer peut etre... ou le fermer systematiquement avec un close(), ou le cacher avec un hide() ou un setVisible(false)...
    rien n'y fait, ca plante tout le temps quand je switche d'un type d'affichage a un autre...

    c'est normal ca?? o_O
    (j'ai essayé d'etre bien systematique dans ma fermeture et reouverture de widgets en fonction du type d'affichage demandé ou dans hide/show en employant plutot cette methode...)
    • Partager sur Facebook
    • Partager sur Twitter
      24 avril 2008 à 0:05:31

      setCentralWidget prends UN pointeur vers UN widget et pas un tableau, pour mettre plusieurs widget il faut passer par un QWidget hôte.
      • Partager sur Facebook
      • Partager sur Twitter
        24 avril 2008 à 0:08:20

        raahh bon!! j'vais donc essayer, c'est vrai que je pensais que le QTableWidget etait un WIDGET!!
        ca me semblait tellement evident!! loool...

        EDIT: bon apparamment, je declare deux widgets, je declare un QTextEdit dans l'un des deux, et je laisse l'autre vierge pour l'instant...verrai pour le tableau apres...
        bon, alors je demande l'affichage du widget contenant le textedit...tout va bien, je switche sur des fiches du meme type, pas de probleme...

        plus compliqué, on switche sur un affichage du widget vide! youpi, ca marche...soyons euphorique, je reclique sur une fiche avec mon textedit, PAAAAF---> pleine tete le plantage :'(:waw:

        pourtant la, je passe bien par deux widgets conteneurs!! tout ce qu'il y a de plus simple et neutre!!
        • Partager sur Facebook
        • Partager sur Twitter
          24 avril 2008 à 0:34:10

          Sisi, c'est un widget, un lointain héritage mais c'est un widget. Mais tu t'en fiches de cette classe, crées toi plutot un widget (directement dans la fonction qui va appeler setCentralWidget histoire de faire court) dans lequel tu ajoutes un layout via setlayout() (les layouts c'est bon, mangez en) qui contient tes deux QTextEdit, comme ca ils seront propres et bien alignés.
          • Partager sur Facebook
          • Partager sur Twitter
            24 avril 2008 à 0:42:51

            bon cf mon edit plus haut, la technique du widget conteneur, c'est pas bon (n'en mangez donc pas! lol)
            par contre, oui tout betement je n'avais pas pensé au layout...
            si je veux switcher d'un affichage a l'autre, je dois bien pouvoir tripoter le layout directement sans avoir a tripoter le centralWidget... po con ca tiens!!

            vais essayer ca...je dis quoi apres...merci du tuyau

            PS: je retire ce que je viens de dire sur les widgets conteneurs...
            a partir du moment ou on fait un setCentralWidget, ca delete l'ancien widget qui etait en place, il faut donc juste le redeclarer...
            n'empeche que si je ne m'en sors pas, je pense que j'irai sur les layouts, c'est assez seduisant aussi cette methode!
            • Partager sur Facebook
            • Partager sur Twitter
              24 avril 2008 à 1:25:35

              Pour "swaper" ton Widget principal, met un layout spécial swap, me rappelle plus du nom, mais l'un des layouts permet d'avoir plusieurs widgets avec un seul qui s'affiche à la fois, et on peut "swaper" ce widget pour en mùettre un autre à la place parmi ceux que l'on a ajouté au layout, très utile donc.
              • Partager sur Facebook
              • Partager sur Twitter
                24 avril 2008 à 1:36:23

                QStackLayout!!
                je connaissais pas du tout
                c'est genial la doc Qt, t'zas beau etre plongé tout le temps dedans, tu decouvres toujours des trucs!! pire qu'une encyclopedie ce bignou! lol

                bon cela dit, la, ca marche avec mes widgets conteneurs, vu que je tripatouille ca depuis pres de 24 heures, je vais profiter un peu, mais quand je reverrai mon code pour l'eclaircir au final, j'utiliserai ce truc que j'avais pourtant croisé il y a quelques temps... ca a l'air tout a fait adapté a ce que je veux faire! merci bien
                • Partager sur Facebook
                • Partager sur Twitter

                probleme QMainWindow

                × 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