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 :

Impossibilité de cocher des cases dans un TreeView associé à un modèle


Sujet :

Qt

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut Impossibilité de cocher des cases dans un TreeView associé à un modèle
    Bonjour

    J'ai construit un modèle (CStandardEtatModel) dérivé de la classe QAbstractItemModel. J'ai construit par ailleurs une classe dérivée de QTreeView pour afficher les données du modèle sous la forme d'un arbre.
    Afficher les données contenues dans le modèle se déroule très bien. Par contre quand je veux ajouter une case à cocher à chaque élément cela se passe moins bien. Je parviens à afficher la case mais il m'est impossible de faire afficher la croix dans la case. Pourtant j'ai suivi les indications données dans les différentes documentations.
    Si quelqu'un me donner la raison de ce mauvais fonctionnement.
    Je sais qu'il existe déjà la classe QStandardItemModel que je pourrais utiliser mais je veux rajouter des fonctionnalité alors j'ai préféré partir de la classe de base.
    Le code associé à la classe CStandardEtatModel est donné ci-dessous. La procédure setupModel me permet de construire mon modèle. J'ai ajouté les procédures setData et data. La variable m_State me permet de mémoriser l'état de la case à cocher. En mode débug je vois que les procédures setDataet data sont appelées et je vois bien que la variable m_State change de valeur quand je clique sur une ligne mais je ne vois jamais la case avec une croix à l'intérieur.
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
     
    CStandardEtatModel::CStandardEtatModel(CDomEtats *ptDomEtats)
    {
    	m_ptDomEtats = ptDomEtats;
     
    	m_ptRootEtat = new CStandardEtat();
     
    	if (m_ptRootEtat != 0) {
    		m_ptRootVisible = new CStandardEtat(m_ptRootEtat);
    		if (m_ptRootVisible != 0) {
    			m_ptRootVisible->setupEtat(QString("Livre des états"), Root);
    			m_ptRootEtat->appendChild(m_ptRootVisible);
    			setupModel(m_ptRootVisible);
    		}
    	}
    }
     
    QModelIndex CStandardEtatModel::rootIndex()
    {
    	return createIndex (0, 0, m_ptRootVisible);
    }
     
    void CStandardEtatModel::setupModel(CStandardEtat *ptParentItem, CInfoEtat *ptParentInfo)
    {
    	bool				 rep;
    	CInfoEtat 		*ptInfoEtat;
    	CStandardEtat 	*ptItemEtat;
     
    	ptInfoEtat = new CInfoEtat (m_ptDomEtats);
    	rep = ptInfoEtat->First(ptParentInfo);
    	while (rep) {
    		ptItemEtat = new CStandardEtat(ptParentItem);
    		ptItemEtat->setupEtat(ptInfoEtat->Nom(), ptInfoEtat->Type());
    		ptParentItem->appendChild(ptItemEtat);
     
    		setupModel(ptItemEtat, ptInfoEtat);
    		rep = ptInfoEtat->Next(ptParentInfo);
    	}
    }
     
    bool CStandardEtatModel::insertRows(int row, int count, const QModelIndex &indexParent)
    {
    	CStandardEtat *ptParent;
     
    	ptParent = static_cast<CStandardEtat*>(indexParent.internalPointer());
     
    	beginInsertRows(indexParent, rowCount(indexParent), rowCount(indexParent));
    	ptParent->appendChild(m_ptChildAdded);
    	endInsertRows();
    	return true;
    }
     
    bool CStandardEtatModel::addRow(const QModelIndex &indexParent, QString Nom, TypeEtat Type)
    {
    	CStandardEtat *ptParent;
     
    	ptParent = static_cast<CStandardEtat*>(indexParent.internalPointer());
     
    	m_ptChildAdded = new CStandardEtat(ptParent);
    	if (m_ptChildAdded != 0) {
    		m_ptChildAdded->setupEtat(Nom, Type);
    		return insertRows (0, 1, indexParent);
    	}
    	return false;
    }
     
    bool CStandardEtatModel::setData(const QModelIndex &Index, const QVariant &Value, int role)
    {
    	CStandardEtat *ptIndex;
     
    	if (!Index.isValid()) {
    		qDebug() << "## CStandardEtatModel::setData invalide";
    		return false;
    	}
     
    	ptIndex = static_cast<CStandardEtat*>(Index.internalPointer());
     
    	if (ptIndex->typeEtat() != Root) {
    		ptIndex->setState(((Qt::CheckState)Value.toInt() == Qt::Unchecked) ? false : true);
    		qDebug() << "## CStandardEtatModel::setData : valeur =" << Value.toInt() << "Unchecked =" << Qt::Unchecked << "Checked ="<< Qt::Checked << "text = " << ptIndex->Nom();
    		emit dataChanged (Index, Index);
    		return true;
    	}
    	return QAbstractItemModel::setData(Index, Value, role);
    }
     
    int CStandardEtatModel::columnCount(const QModelIndex &Parent) const
    {
    	return 1;
    }
     
    QVariant CStandardEtatModel::data(const QModelIndex &index, int role) const
    {
    	CStandardEtat *ptItem;
     
    	if (!index.isValid())
    		return QVariant();
     
    	if ((role != Qt::DisplayRole) && (role != TypeEtatRole) && (role != Qt::FontRole) && (role !=Qt::ForegroundRole) && (role != Qt::CheckStateRole))
    		return QVariant();
     
    	ptItem = static_cast<CStandardEtat*>(index.internalPointer());
     
    	if (ptItem != 0) {
    		if (role == Qt::CheckStateRole) {
    			qDebug() << "## CStandardEtatModel::data = " << ptItem->State() << "text = " << ptItem->Nom();
    			return (ptItem->State() == true) ? Qt::Checked : Qt::Unchecked;
    		}
    		return ptItem->Data(role);
    	}
     
    	return QVariant();
    }
     
    Qt::ItemFlags CStandardEtatModel::flags(const QModelIndex &index) const
    {
    	if (!index.isValid()) {
    //		qDebug() << "## CStandardEtatModel::flags invalid";
    //		return 0;
    	return Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable;
    	}
    //	qDebug() << "## CStandardEtatModel::flags valid";
    	return Qt::ItemIsEnabled | Qt::ItemIsUserCheckable | Qt::ItemIsSelectable;
    }
     
    QVariant CStandardEtatModel::headerData(int section, Qt::Orientation orientation, int role) const
    {
    	return QVariant();
    }
     
    QModelIndex CStandardEtatModel::index(int row, int column, const QModelIndex &parent) const
    {
    	CStandardEtat *ptParentItem, *ptChildItem;
     
    	if (!hasIndex(row, column, parent))
    		return QModelIndex();
     
    	if (!parent.isValid())
    		ptParentItem = m_ptRootEtat;
    	else
    		ptParentItem = static_cast<CStandardEtat*>(parent.internalPointer());
     
    	ptChildItem = ptParentItem->Child(row);
    	if (ptChildItem)
    		return createIndex(row, column, ptChildItem);
    	else
    		return QModelIndex();
    }
     
    QModelIndex CStandardEtatModel::parent(const QModelIndex &index) const
    {
    	CStandardEtat *ptParentItem, *ptChildItem;
     
    //	qDebug() << "## CStandardEtatModel::parent";
     
    	if (!index.isValid())
    		return QModelIndex();
     
    	ptChildItem = static_cast<CStandardEtat*>(index.internalPointer());
    	ptParentItem = ptChildItem->Parent();
     
    	if (ptParentItem == m_ptRootEtat)
    		return QModelIndex();
     
    	return createIndex(ptParentItem->Row(), 0, ptParentItem);
    }
     
    int CStandardEtatModel::rowCount(const QModelIndex &parent) const
    {
    	CStandardEtat *ptParentItem;
     
    	if (parent.column() > 0)
    		return 0;
     
    	if (!parent.isValid())
    		ptParentItem = m_ptRootEtat;
    	else
    		ptParentItem = static_cast<CStandardEtat*>(parent.internalPointer());
     
    	return ptParentItem->childCount();
    }
    Par avance merci.

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Est-ce que personne n'a trouvé de réponse à mon problème ou est-ce que cela n'intéresse personne ?




  3. #3
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Je préviens, j'ai jamais utilisé ce framework pour l'instant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (role == Qt::CheckStateRole) {
    			qDebug() << "## CStandardEtatModel::data = " << ptItem->State() << "text = " << ptItem->Nom();
    			return (ptItem->State() == true) ? Qt::Checked : Qt::Unchecked;
    		}
    Est-ce que tu passes dans ce bloc pour commencer?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Salut IrmatDen

    La partie de code que tu mentionnes appartient à la procédure data qui est appelée par le logiciel quand je clique sur une ligne comme la procédure setData d'ailleurs.

    pourquoi cette question ?

  5. #5
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Ben parce que si tu ne passes jamais dans ce bloc, c'est que la vue ne demande pas le CheckStateRole.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Si, si le logiciel passe par ce bloc. Je vois les messages de debug dans la console. De même que je vois les messages de debug quand le logiciel passe dans le bloc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	if (ptIndex->typeEtat() != Root) {
    		ptIndex->setState(((Qt::CheckState)Value.toInt() == Qt::Unchecked) ? false : true);
    		qDebug() << "## CStandardEtatModel::setData : valeur =" << Value.toInt() << "Unchecked =" << Qt::Unchecked << "Checked ="<< Qt::Checked << "text = " << ptIndex->Nom();
    		emit dataChanged (Index, Index);
    		return true;
    	}
    de la procédure setData

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Mon problème n'interesse personne ?

    Ou peut-être me suis-je mal fait comprendre ?

    J'attends toujours de l'aide.

    Merci par avance

  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
    peut tu donner ton code ?

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Tu veux la totalité du code Mongaulois ?
    Je te demande ça car j'ai donné dans mon premier message la partie du code concernée.
    Sinon ça veut dire que tu veux l'ensemble du code ?

  10. #10
    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 malheureux Voir le message
    Tu veux la totalité du code Mongaulois ?
    Je te demande ça car j'ai donné dans mon premier message la partie du code concernée.
    Sinon ça veut dire que tu veux l'ensemble du code ?
    si possible oui.
    C'est toujours plus simple d'avoir un code compilable pour regarder.
    Sinon tans pis je me débrouillerai.

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Mongaulois,

    Le problème c'est qu'il y a bcp de fichiers et qu'ensuite l'application lit un fichier contenant des données personnelles.

    Ce que je peux faire c'est joindre à cette réponse les fichiers suivants :
    • VueEtats.h et .cpp : ces 2 fichier gèrent la vue.
    • StandardEtatModel.h et .cpp : ces 2 fichiers gèrent le modèle qui me pose un
      problème


    Je me suis pourtant appuyer sur la classe QStandardItemModel et QStandardItem pour gérer mes fameuses cases à cocher mais sans succès.

    Avec cela tu me diras si tu parviens faire qque chose.

    D'avance merci.
    Fichiers attachés Fichiers attachés

  12. #12
    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
    dans le .cpp
    si tu change
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    CStandardEtatModel::CStandardEtatModel(CDomEtats *ptDomEtats)
    {
    }
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CStandardEtatModel::CStandardEtatModel(CDomEtats *ptDomEtats)
    :QAbstractItemModel ()
    {
    }
    ca donne quoi???

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    Mongaulois,

    J'ai essayé ton idée et cela ne change rien.

    Je finis par déséperer !!!!

  14. #14
    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
    dans e même genre remplace

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CVueEtats::CVueEtats(CDomEtats *ptDomEtats)
    {
       ...
    }
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CVueEtats::CVueEtats(CDomEtats *ptDomEtats)
    :QTreeView()
    {
    ...
    }
    En règle générale, il faut toujours appeler un constructeur des class mère!!!!

  15. #15
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Oui, mais le constructeur par défaut est toujours appellé. Ca change rien ça.

  16. #16
    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
    Bon j'ai rien dit
    Mais c'est toujours mieux de le mettre

  17. #17
    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 Mongaulois Voir le message
    AS tu essayer d'utiliser directement un QTreeView()?
    voir si ca fonctionné.
    La partie CStandardEtatModel semble correcte pour ton problème....
    Peut tu essayer ca?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void CVueEtats::currentChanged(const QModelIndex &current, const QModelIndex &previous)
    {
    	/*CStandardEtat 			*ptCurrentItem;
    	QList<CStandardEtat*> 	 listItems;
     
    	ptCurrentItem = static_cast<CStandardEtat*>(current.internalPointer());
    	LitEtats(listItems, ptCurrentItem);	*/
     
    	QAbstractItemView::currentChanged(current, previous);
    	//emit categoriesSelected(listItems);
    }
    J'ai testé, ca change rien...
    La je ne voie pas....
    Peut être, ajoute le test "role == Qt::CheckStateRole" dans setData

  18. #18
    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
    Voici ce que j'ai fait.
    J'ai modifié en faisant comme toi, l'exemple simpletreemodel.
    Et ca marche...
    Pour retrouver ce que j'ai fait, recherche le mot Nay.
    Ton code semble bon...
    Je ne voie pas de différence entre ce que tu fait et ce que je fait...
    Fichiers attachés Fichiers attachés

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 14
    Points : 4
    Points
    4
    Par défaut
    J'ai rajouté dans mon code les tests sur role comme dans l'exemple simpletreemodel. Mais rien n'y fait; tout pareil.

    Est-ce que par hazard cela ne viendrait pas de treeview et non pas du model ?

  20. #20
    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 malheureux Voir le message
    J'ai rajouté dans mon code les tests sur role comme dans l'exemple simpletreemodel. Mais rien n'y fait; tout pareil.

    Est-ce que par hazard cela ne viendrait pas de treeview et non pas du model ?
    Peut etre....
    peut tu essayer ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void CVueEtats::currentChanged(const QModelIndex &current, const QModelIndex &previous)
    {
    	/*CStandardEtat 			*ptCurrentItem;
    	QList<CStandardEtat*> 	 listItems;
     
    	ptCurrentItem = static_cast<CStandardEtat*>(current.internalPointer());
    	LitEtats(listItems, ptCurrentItem);	*/
     
    	QTreeView::currentChanged(current, previous);
    	//emit categoriesSelected(listItems);
    }
    c'est la seul méthode que tu as redéfinie de qtreeview.
    Regarde ce que j'ai fait. Tu verra peut être une différence..
    Sinon peut tu faire un projet minimum (sans données perso bien sur) pour tester cette partie de ton code???( ces fichier et un main pour compiler et tester)
    Je n'ai pas d'autre idée....
    tu compile avec quoi et avec quel version de qt?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Supprimer des éléments dans une TreeView ?
    Par souch dans le forum Composants VCL
    Réponses: 4
    Dernier message: 16/09/2005, 12h20
  2. taille dynamique des cases dans état
    Par exter666 dans le forum Access
    Réponses: 14
    Dernier message: 09/09/2005, 15h30
  3. Ordonnée des données dans un TreeView
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 17/04/2005, 18h08
  4. Pbs pour Glisser-Deplacer des noeuds dans un TreeView.
    Par psau dans le forum C++Builder
    Réponses: 3
    Dernier message: 08/09/2004, 21h02
  5. Des colonnes dans un Treeview
    Par mr_langelot dans le forum Composants VCL
    Réponses: 6
    Dernier message: 28/07/2004, 09h52

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