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 :

Widget de liste de plug-ins (comme dans Firefox)


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de bobti89
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Par défaut Widget de liste de plug-ins (comme dans Firefox)
    Salut !

    Je cherche à faire un widget pour afficher une liste de plugins. J'aimerais obtenir le même résultat que dans la fenêtre des addon de firefox :


    Mon problème est que je ne vois pas la façon la plus simple pour réaliser cette liste. Dois-je utiliser un Model-View ou recréer complètement mon widget ? En fait je verrais bien un système de delegate mais pas pour l'édition, juste pour la consultation.

    Comment vous y prendriez vous ?
    Avez-vous déjà réalisé ce genre de liste ?
    Images attachées Images attachées  

  2. #2
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Citation Envoyé par bobti89 Voir le message
    Comment vous y prendriez vous ?
    Avez-vous déjà réalisé ce genre de liste ?
    Salut,

    Il y a une manière bien plus simple que d'utiliser les delegates avec lequels tu risques de galérer pas mal.

    Tu réalises une sous-classe de QListWidget qui fait tout ce que tu as besoin au niveau de la liste (tout ce qui est sélection, scrollbar, etc.).

    Puis tu ajours dans cette liste des QListWidgetItem avec (addItem() ou insertItem()).

    Attention, c'est QListWidgetItem ne vont être que des items logiques utilisés par ta sous classe de QListWidget est ne vont pas contenir tous tes éléments graphiques.

    Il s'agit d'une classe dérivée de QWidget (MonWidgetPerso) qui va contenir ton layout, tes boutons, réimplémenté des événements (paintEvent pour la coloration, mousePressEvent pour la séléction, etc).

    Ensuite la méthode magique est setItemWidget() qui te permet d'ajouter et de dessiner au dessus d'un QListWidgetItem un widget personnalisé.

    Tu auras donc au final une sous-classe de QListWidget avec des QListWidgetItem (non-sous-clasé) avec dessiné au dessus ton Widget perso (herité de Qwidget).

    Bon courage

  3. #3
    Membre confirmé
    Avatar de bobti89
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Par défaut
    Après plusieurs essais, je n'arrive pas à comprendre le fonctionnement de setItemWidget, j'ai l'impression qu'elle ne fait jamais rien.
    Comment l'utilise-t-on ?

  4. #4
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Citation Envoyé par bobti89 Voir le message
    Après plusieurs essais, je n'arrive pas à comprendre le fonctionnement de setItemWidget, j'ai l'impression qu'elle ne fait jamais rien.
    Comment l'utilise-t-on ?
    La question est comment l'utilises tu ?

  5. #5
    Rédacteur

    Avatar de johnlamericain
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2004
    Messages
    3 742
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 3 742
    Par défaut
    Tu aurais pas un peu de code à nous montrer, je voudrais bien t'aider mais c'est dur en aveugle...

  6. #6
    Membre confirmé
    Avatar de bobti89
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 86
    Par défaut
    Le problème c'est que j'ai fait beaucoup de tentatives et qu'il est donc difficile de les résumer avec un bout de code.

    Je n'ai pas accès à mon code maintenant, mais ce soir j'essayerai de faire un morceau concis et de le poster.

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

Discussions similaires

  1. Associer des plug-ins, listes et widgets
    Par Nekkro dans le forum Qt
    Réponses: 0
    Dernier message: 17/11/2011, 20h24
  2. [C#] Liste de process comme dans la Alt+Tab
    Par TreizeSegments dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 16/10/2008, 17h39
  3. Listes Sharepoint dépendantes (comme dans un SGBD)
    Par nassim12 dans le forum SharePoint
    Réponses: 4
    Dernier message: 01/07/2008, 13h58
  4. [RCP][plug-ins]Jars pour mes plugins dans un client RCP??
    Par tophebboy dans le forum Eclipse Platform
    Réponses: 5
    Dernier message: 14/03/2006, 16h56

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