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

Discussion :

QtreeView, QTableView, QListView personalisé?

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut QTableView personalisé?
    Bonjour.

    Je recherche mon bonheur la class sous Qt (QTableView).

    Mon objectif est de réalisé :

    L'affichage d'une ligne sans grillage avec du texte dans chaque colonnes.

    De plus la sélection d'une Ligne sur plusieurs colonnes est prioritaire.

    En gros j'utilise un QTableWidget uniquement pour stocker mon texte correctement sur une même ligne.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
                     QTableWidget *tablewidget = new QTableWidget(20,5,page33);
     
                     tablewidget->setGeometry( 0, 60, 650, 300);
                     tablewidget->setShowGrid (false);
                     tablewidget->verticalHeader()->hide();
                     tablewidget->horizontalHeader()->hide();
                     tablewidget->setSelectionBehavior ( QAbstractItemView::SelectRows);
    Mais le probléme est que lorsque je sélectionne une ligne, j'ai l'affichage d'un rectangle correspondant à la colonne pointée et ça je ne le veut pas.

    Est t'il possible de supprimer l'affichage de ce rectangle????



    Si Oui, quelqu'un aurais t'il une suggestion ,voir un exemple à me montrer.

    Merci

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Salut,
    as tu essayé de regarder les stylesheet?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    Lorsque j'ai lu ton message j'ai eu un regain d'espoir et me suis a explorer les Qt Style Sheets et companies de A à Z pendant 4h cette après midi et mon anglais est correcte , malheureusement sans résultat.

    Quelqu'un pourrais développer la méthode afin d'accéder à ce petit rectangle par defaut autour d'un item une fois sélectionnée car je ne veut préserver que la sélection d'une ligne entière avec son propre BackGround sans "shape" avec la fonction QAbstractItemView::SelectRows.

    A mon avis je ne démarre pas correctement la méthode.

    Voici mon bout de code.

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
                    QTableWidget *tablewidget = new QTableWidget(20,5,page33);
     
                     tablewidget->setGeometry( 0, 60, 650, 300);
                     //tablewidget->setGridStyle ( Qt::NoPen);
                     tablewidget->setShowGrid (false);       
                     // tablewidget->setStyleSheet("gridline-color: yellow");
                     tablewidget->verticalHeader()->hide();
                     tablewidget->horizontalHeader()->hide();
                     tablewidget->setSelectionBehavior ( QAbstractItemView::SelectRows);
     
                      tablewidget->setStyleSheet("AbstractItemView::item : selected {"
                         "background-color: cyan"
                         "background-position: top left;"
                         "background-origin: content;"
                         "background-clip: margin;"
                         "margin: 0px;"
                         "}"
                         //"QAbstractItemView::tablewidgetitem : selected {"
                         // "margin: 0px;"
     
                         "};"
     
                         "}");
     
                     for(i=0;i<=4;i++){
                         QTableWidgetItem *tablewidgetitem = new QTableWidgetItem();                   
                         tablewidgetitem->setBackground(brush1);                   
                         //tablewidgetitem->setSelected (false);
     
                        tablewidget->setItem(2, i, tablewidgetitem);
     
                        tablewidgetitem++;
                     }
    Je me demandais ci ce ptit rectangle ne ferais pas partie d'un modelBox et plus précisément le margin-Shape. ???


    1) Au dépars ne dois je pas utilisé QTableView au lieu de QTableWidget?
    2)Dois implémenté mon propre modéle ....Item ...View ?
    3)Et comment accéder à ce petit rectangle par defaut autour d'un item une fois sélectionnée car je ne veut préserver que la sélection d'une ligne entière avec son propre Backlund sans "shape" avec la fonction QAbstractItemView::SelectRows.

    Je donne ma la langue au chat

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    http://qt.developpez.com/doc/4.5/sty...zing-qlistview
    ou
    http://qt.developpez.com/doc/4.5/sty...zing-qtreeview
    ne résoud pas ton problème?
    Peut tu faire un screenshot de ton problème?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    Arrrfff pas moyen d'envoyé mon screenshot avec les format classique d'images.

    monscreenshot fait 41k

    pourquoi?

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par HadJack Voir le message
    pourquoi?
    Pour bien comprendre de quoi tu parle

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    Lol

    J'avais compris ,
    je voulais dire pourquoi je n'arrive pas à envoyé mon screenshot! ????

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    Bizarre avec un fichier .doc ça marche :


    Ce que tu vois sélectionner en bleu c'est mon "selectRow"

    car j'ai sélectionné un item de la ligne X, ligne X s'affiche mais le probléme est que j'ai également la case de l'item qui s'affiche avec une "bordure"(c'est quoi ce Truc ?

    ------>Box Model ???????
    Fichiers attachés Fichiers attachés

  9. #9
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    tu utilise une tableView?
    Ca correspond normalement à une case sélectionné.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    non

    pourquoi c'est nécessaire?
    j'avais posé la question il y'a 2 jours déja je crois .

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    1) Au dépars ne dois je pas utilisé QTableView au lieu de QTableWidget?
    2)Dois implémenté mon propre modéle ....Item ...View ?

    Tu connais pas un ptit exemple bien fait pour implémenté un model De QTableView bien structuré avec un model complet?

    Et merci pour ton aide

  12. #12
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Citation Envoyé par HadJack Voir le message
    Tu connais pas un ptit exemple bien fait pour implémenté un model De QTableView bien structuré avec un model complet?

    Et merci pour ton aide
    un QTreeView ou un QTreeWidget ne correspondrais pas mieux?

    Sinon, a part les exemple de la doc, non.

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    Bon et bien plus de souci avec mes Model View.

    A force de lire et de relire Qt en anglais j'y suis arrivé . ouffffff

    Et j'ai également trouvé l'astuce me permettant d'effacer ce petit rectangle dans un item sélectionné.

    Mon bonheur étais ..... "padding: -1px"

    Merci pour tous .

  14. #14
    Membre émérite

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Mon bonheur étais ..... "padding: -1px"
    Ca tiens des fois à pas grand chose .

    Sinon, tu pourrais stp peut être mettre le bout de code et le rendu que tu as finalement obtenu, ça pourrait sans doute aider d'autres personnes.

    G.

    PS : les posts à 5h56 du mat, c'est mal

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut Intéressé
    Moi, par exemple, qui suis tout nouveau en Qt, je serai bien content de connaître la fine astuce permettant de supprimer le rectangle qui entoure le texte de la cellule sélectionnée d'un QTreeView.

    Merci d'avance.

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2009
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 62
    Par défaut
    Oh désolé pas vu la suite.

    voici le bout de code à passer par un setStyleSheet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                         QString style1="QTableView::item:selected {"
                         "background-color: gray;"
                         "background-position: top left;"
                         "background-origin: margin;"
                         "background-clip: border;"
                         "border-style: none;"
                         "padding: -1px;"
                         "}";;
    a plus

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut
    Merci beaucoup.

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 4
    Par défaut Plus simple
    J'ai trouvé plus simple pour retirer ce petit rectangle qui, dans la documentation de Qt, est nommé focus.

    Pour qu'il ne s'affiche pas, il faut faire appel à la méthode QWidget::setFocusPolicy avec Qt::NoFocus en paramètre.

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ui.tree.setFocusPolicy(Qt::NoFocus);

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

Discussions similaires

  1. Comment récupérer la clé (QListView, QTableView) ?
    Par ptissendier dans le forum PyQt
    Réponses: 4
    Dernier message: 09/03/2014, 11h13
  2. Même modèle pour QTableView et QTreeView
    Par poukill dans le forum Qt
    Réponses: 2
    Dernier message: 06/01/2012, 17h57
  3. index des QTableView et QListView
    Par ostralo dans le forum Qt
    Réponses: 5
    Dernier message: 26/02/2009, 20h13
  4. QTreeView, QListView et leurs copains
    Par Alouka dans le forum Qt
    Réponses: 2
    Dernier message: 12/01/2007, 09h36

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