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 :

besoin de conseils pour conception d'une widget


Sujet :

Qt

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Points : 119
    Points
    119
    Par défaut besoin de conseils pour conception d'une widget
    Salut,

    Dans l'image jointe, à droite, j'ai une toolbar que j'aimerai remplacer par une Widget que je placerai dans une QDockWidget avec: DockWidget->setWidget(maWidget);

    Les icons dans cette toolbar sont des QToolButton dont chaqu'un déclenche une action.
    Je désire remplacer ma toolbar par ma propre widget pour les raisons suivantes:
    - Si je sors ma toolbar de mon MainWindow, j'ai des problèmes dans l'affichages des icons.
    - la taille de la toolbar s'adapte automatiquement à l'espace disponible dans le mainwindow, ce qui n'est pas désiré dans mon application.
    - J'aimerai ajouté un défilement.
    - Possibilité de drag and drop

    Mes questions sont:
    - Est ce que instancier QWidget est la bonne solution ou j'ai des meilleures choix.
    - Dans ma toolbar il était facile d'ajouter les boutton avec addWidget. Pour une QWidget il faut utiliser un layout j'imagine pour ajouter les bouttons. Est ce que le fait que j'insère mes bouttons dans un layout me causera des problèmes relatives au drag and drop. Je sais qu'il faut surchargé quelque fonctions de QWidget pour effectuer les drag and drop mais je me demande si le fait que les bouttons sont insérés dans un layout fera en sorte que je dois surcharger aussi la classe du layout pour effectuer le drag and drop.

    Merci
    Images attachées Images attachées  

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Points : 119
    Points
    119
    Par défaut
    Est ce que QListWidget sera pas un meilleure choix ?
    pas sure si on peut ajouter des buttons comme item !

  3. #3
    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
    Hmm, as tu vraiment essayé toutes les "options" de QToolBar ? setMovable()/setFloatable(). Je sais que pour ma part, je peux déplacer ma ToolBar en dehors de ma MainWindow sans problème. Ensuite, pour le resize, je pense que le mieux est de faire plusieurs toolBar modulaires, puisque ça sert à rien d'avoir des boutons trop gros, ou trop petits (enfin selon moi). Seul le fait d'être surchargé de boutons peut etre genant.

    Sinon, tu peux toujours faire une deuxième widget indépendante dans laquelle tu inclues des toolBars.

    Mais je pense vraiment qu'il existe des méthodes plus simples que de tout refaire !

    G.

  4. #4
    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 Nehmé Voir le message
    - Si je sors ma toolbar de mon MainWindow, j'ai des problèmes dans l'affichages des icons.
    comment cela?

    - la taille de la toolbar s'adapte automatiquement à l'espace disponible dans le mainwindow, ce qui n'est pas désiré dans mon application.
    regarde les dockWidget

    - J'aimerai ajouté un défilement.
    regarde les scroll area

    - Possibilité de drag and drop
    ...
    Est ce que QListWidget sera pas un meilleure choix ?
    il me semble que tu devra le faire toi même...

  5. #5
    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
    Avec QListWidget ça me semble une bonne solution car tu peux savoir quel est l'item qui a été cliqué, lui affecter une icône, du texte ...
    Tu peux aussi les rendre checkables, le drag and drop fonctionnera facilement depuis un autre qlist widget item.
    A vrai, dire, moi j'ai un dock, dans lequel j'ai placé des items, chaque clic sur un item me donne une action spécifique, voilà une capture :


  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

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Points : 119
    Points
    119
    Par défaut
    Si je sors ma toolbar de mon MainWindow, j'ai des problèmes dans l'affichages des icons.
    En faites le nombre de bouttons dans ma toolbar n'est pas fixe, c'est comme des slides que l'utilisateur ajoute. Si la toolbar est en dehors du mainwindow et que l'utilisateur ajoutes ou supprimes une slide, les icons disparaissent tant que la toolbar n'est pas remis dans le mainwindow.

    regarde les dockWidget
    Je ne savais pas qu'il est possible de mettre la toolbar dans une dockWidget. En faite j'avais dejà commencé à faire ma widget personalisée en attendant vos reponses et je l'avais mis dans une dockWidget ! donc il suffit que j'essaye de mettre ma toolbar à la place pour voir.

    regarde les scroll area
    Je l'ai aussi fait pour ma widget hier, mais je ne savais pas que ca peut fonctionner avec une toolbar !

    Possibilité de drag and drop
    J'ai lu l'exemple de drag and drop mais c'est un peu différent dans mon cas:
    - Si j'utilise une toolbar, il faut probabelement que je modifie les actions pour qu'elle ne se déclenche pas si l'utilisateur essais de faire un drag.
    - Si j'utilise une ma propre widget, les buttons son dans un layout et je me demande si le drag and drop devient interne au layout ou c'est toujours le widget qui gère ca. le dragEvent et dropEvent sont ceux du layout ou du widget ?

    Avec QListWidget ça me semble une bonne solution
    Oui la listWidget contient pas mal d'avantage mais un peu difficile à personnaliser. Par exemple si tu utilises des icons sans texte, texte ="", la zone de texte vide apparait toujours quand tu selectionnes l'icon.

    Je vais essayé de placer ma toolbar dans une dockWidget et ajouter le scroll et le drag and drop. Si ca fonctionne pas je continue avec ma widget.

    Merci

  8. #8
    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
    Le dockwidget c'est dans le cas ou tu fait ta widget.
    je ne sait pas si tu peut mettre une tool bar

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Points : 119
    Points
    119
    Par défaut
    Salut,

    J'ai essayé de mettre ma toolbar dans une dockWidget et apparement ca fonctionne. La toolbar perd quelque propriétés quand son parent n'est pas un MainWindow dont on en parle dans la dock de QToolBar.

    J'ai mis ma toolbar dans un QScrollArea que j'ai mis dans une dockWidget:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
      toolbar->setMovable(true);
      toolbar->setFloatable(true);
      toolbar->setOrientation(Qt::Vertical);
      toolbar->setSizePolicy(QSizePolicy::Minimum ,QSizePolicy::Minimum );
     
      QScrollArea s = new QScrollArea();
      s->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
      s->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
      s->setWidgetResizable(true);
      s->setObjectName("ScrollArea");
      s->setFrameShape(QFrame::NoFrame);
      s->setWidget(toolbar);
     
      dockWidget->setWidget(s);

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 29/04/2014, 14h02
  2. Réponses: 0
    Dernier message: 17/02/2014, 17h05
  3. besoin de conseil pour une conception Bdd
    Par brouis dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 23/09/2011, 15h33
  4. Réponses: 19
    Dernier message: 10/05/2006, 09h40
  5. Besoin de conseils pour une application
    Par peredodu dans le forum Access
    Réponses: 9
    Dernier message: 05/03/2006, 11h18

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