IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

QToolbar dans un QWidget, placée en bas !


Sujet :

Qt

  1. #1
    Membre actif
    Avatar de doof
    Inscrit en
    Août 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 160
    Points : 294
    Points
    294
    Par défaut QToolbar dans un QWidget, placée en bas !
    Bonjour !

    Y-a-t-il un moyen de positionner une QToolBar en bas d'un widget ? J'ai beau parcourir la doc de long en large, j'ai l'impression que si le parent n'est pas QMainWindow, il on ne peut la placer qu'en haut, et de plus elle est dans tous les cas non déplaçable... c'est bien le cas ?

    Si c'est bien le cas, j'ai dans l'idée de créer une pseudo toolbar qui ne serait en fait qu'un QWidget ou QFrame contenant des boutons. Pour la positionner en bas du widget, la contrainte serait donc par rapport à une vraie QToolBar de créer un QVBoxLayout contenant au moins un conteneur (autre Qwidget) au dessus ?

    Suis-je sur une bonne piste ou bien y a-t-il une solution simple et élégante ?

    Merci !

  2. #2
    Membre averti Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Points : 344
    Points
    344
    Par défaut
    Salut, il me semble que la QToolBar tu la poses où tu veux !
    Je viens de faire un petit exemple sur la quelle j'ai des toolBar sur chaque côté :



    voilà le lien vers la documentation de QToolBar

    On peut lire :

    A toolbar can be fixed in place in a particular area (e.g. at the top of the window), or it can be movable (isMovable()) between toolbar areas; see allowedAreas() and isAreaAllowed().
    Ton problème se situe peut-être ici :

    When a QToolBar is not a child of a QMainWindow, it looses the ability to populate the extension pop up with widgets added to the toolbar using addWidget(). Please use widget actions created by inheriting QWidgetAction and implementing QWidgetAction::createWidget() instead. This is a known issue which will be fixed in a future release.

  3. #3
    Membre actif
    Avatar de doof
    Inscrit en
    Août 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 160
    Points : 294
    Points
    294
    Par défaut
    Merci pour ta réponse, par contre, j'ai un doute sur le parent de tes QToolBars, c'est bien un QWidget quelconque ou QMainwindow ?

    Parce que pour ce qui est de QMainWindow, pas de problème, la méthode void QMainWindow::addToolBar ( Qt::ToolBarArea area, QToolBar * toolbar ) permet bien de spécifier le flag ToolBarArea pour la positionner.

    En revanche, pour les autres widgets, cette méthode n'existe pas, et donc rajouter une QToolBar se fait à l'instantiation de celle-ci en précisant son parent. Hors il n'y a aucun constructeur dans la doc précisant le flag ToolBarArea ou méthode permétant de le préciser ensuite ! A moins que je sois trop fatigué pour le voir


    Edit : Je vois que tu as édité ton message pendant ma réponse

    Donc si je comprends bien, au sein d'un widget, on est donc bien limité sur les positions pour le moment. Je vais voir si les méthodes qu'ils préconisent sont plus intéressantes que le workaround que je comptais faire.


    Merci

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Et qu est ce qui t'empêche d'utiliser une QMainWindow ?

    G.

  5. #5
    Membre actif
    Avatar de doof
    Inscrit en
    Août 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 160
    Points : 294
    Points
    294
    Par défaut
    Tout simplement que ma toolbar appartient uniquement à mon widget, et surtout soit dedans. Ma QMainwindow à déjà sa toolbar pour les actions globales de l'application, et moi je veux des toolbars spécifiques à certains widgets (pas toujours présents dans l'interface), placées dedans et qui se redimensionnent à la taille du widget (taille variable). En plus de ça, j'en veux une en haut et une en bas du widget

    Là, tout est bon sauf pour celles du bas.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Citation Envoyé par doof Voir le message
    Tout simplement que ma toolbar appartient uniquement à mon widget, et surtout soit dedans. Ma QMainwindow à déjà sa toolbar pour les actions globales de l'application, et moi je veux des toolbars spécifiques à certains widgets (pas toujours présents dans l'interface), placées dedans et qui se redimensionnent à la taille du widget (taille variable). En plus de ça, j'en veux une en haut et une en bas du widget

    Là, tout est bon sauf pour celles du bas.

    QMainWindows gère tout cela. C'est une widget spécialisé

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Pourquoi ne pas mettre des QMainWindows dans ta QMainWindow (jamais testé, mais je pense que c'est possible) ? Tu peux y mettre plusieurs QToolBars, en haut et en bas.

    G.

  8. #8
    Membre actif
    Avatar de doof
    Inscrit en
    Août 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 160
    Points : 294
    Points
    294
    Par défaut
    Finalement, j'ai réussi à positionner mes toolbars très simplement, en utilisant des layouts ! Les solutions les plus simples ne sont pas forcément les premières auxquelles je pense ^^

    Donc pour résumer : dans un QMainWindow, on peut les positionner directement avec addToolBar(), tandis que dans un QWidget, il faut recourir aux layouts comme on placerait tout autre widget. On perd juste la capacité de la déplacer, mais je n'en ai pas besoin ici.

    @Gulish -> J'ai jamais essayé non plus, mais ça me semble vraiment lourd d'inclure des QMainWindow pour les utiliser comme simple widgets !

    @Mongaulois -> Oui, bien évidemment, mais il ne le gère que pour les bords de l'application, moi je les voulais dans mes widgets, un petit screenshot :




    Les trois parties de l'applications sont séparées par un QSplitter, et ne sont pas forcément toutes affichées, je voulais donc que mes actions suivent mes parties en fonction de leur positions.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    J'ai jamais essayé non plus, mais ça me semble vraiment lourd d'inclure des QMainWindow pour les utiliser comme simple widgets !
    Je comprends mal ton point de vue.

    Ce n'est pas de toolbar que tu avais besoin, mais de simples boutons à mettre en bas de ton widget.

    Enfin bon, si cette solution te convient, c'est l'important.

    G.

  10. #10
    Membre actif
    Avatar de doof
    Inscrit en
    Août 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 160
    Points : 294
    Points
    294
    Par défaut
    Tu as surement raison, j'en suis arrivé à me demander quel était l'intérêt des toolbars justement ^^

    Le seul avantage que j'y ai trouvé, c'est comme on le voit sur mon screenshot pour la partie à droite, si il n'y a pas assez de place pour afficher tous les boutons, la flèche sur le coté apparait pour les afficher.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. presence caractère 63 dans chaine à la place d'un autre
    Par jolatouf dans le forum VBScript
    Réponses: 3
    Dernier message: 25/08/2010, 14h29
  2. Réponses: 9
    Dernier message: 17/04/2010, 18h26
  3. ouvrir une page dans la même place
    Par barchoui dans le forum Struts 1
    Réponses: 7
    Dernier message: 30/12/2008, 13h22
  4. Mettre du texte dans l'autre sens en bas de page
    Par DamKre dans le forum Word
    Réponses: 2
    Dernier message: 19/09/2007, 07h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo