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 :

Décalage sur QTreeWidgetItem

  1. #1
    Nouveau membre du Club Avatar de JakRenegade
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2012
    Messages : 33
    Points : 39
    Points
    39
    Par défaut Décalage sur QTreeWidgetItem
    Bonjour a tous

    je fais appelle a vous suite à un problème que je rencontre avec Qt.

    J'ai une classe dérivée de QTreeWidget. Dans cette classe j'ajoute des QTreeWidgetItem.

    Mon probleme est le suivant. Lorsque j'ajoute des items dans des items parents, je n'ai pas de decalage dans l'affichage entre le pere et ses enfants (comme se serait le cas dans une arborescence normale).

    Comme j'utilise quasiment toutes les valeurs par defauts pour les QTreeWidget et QtreeWidgetItem, je me pose la question de ce que j'ai modifié ou mal réalisé pour que ce décalage ne se fasse pas. car en regardant des exemples, les décalages se font d'eux même.

    Qu'ai je mal fait?

    Voici le code d'ajout d'un item et celui d'ajout d'un item dans un pere :

    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
    //--------------------------------------------------------------------------------------------------
    /// @todo comment
    //--------------------------------------------------------------------------------------------------
    QTreeWidgetItem * QShTreeView::AddItem(QString strItemName, bool checkable, int type, int index)
    {
    	//
    	//Check if the element doesn't exist
    	QList<QTreeWidgetItem*> itemsList = findItems(strItemName, Qt::MatchExactly);
    	if(itemsList.isEmpty())
    	{
    		QTreeWidgetItem *pItem = new QTreeWidgetItem(this, type);
    		if(checkable)
    		{
    			pItem->setFlags(pItem->flags() | Qt::ItemIsUserCheckable);
    			pItem->setCheckState(0, Qt::Checked);
    		}
     
    		pItem->setText(m_iFirstColumn, strItemName);
    		//OffsetText(pItem);
    		insertTopLevelItem(index, pItem);
    		return pItem;
    	}
     
    	return NULL;
    }
     
     
    //--------------------------------------------------------------------------------------------------
    /// @todo comment
    //--------------------------------------------------------------------------------------------------
    QTreeWidgetItem * QShTreeView::AddItemInParent(QString strItemName, bool checkable, QString strParentName, int type, int index)
    {
    	QTreeWidgetItem * pParent;
    	QTreeWidgetItem * pItem;
     
    	//
    	//Check if the element doesn't exist
    	QList<QTreeWidgetItem*> itemsList = findItems(strItemName, Qt::MatchExactly | Qt::MatchRecursive);
    	if(itemsList.isEmpty())
    	{
    		//
    		//Find the parent
    		QList<QTreeWidgetItem*> parentList = findItems(strParentName, Qt::MatchExactly | Qt::MatchRecursive, m_iFirstColumn);
    		if(!parentList.isEmpty())
    		{
    			pParent = parentList.first();
     
    			pItem = new QTreeWidgetItem(pParent, type);
     
    			if(checkable)
    			{
    				pItem->setFlags(pItem->flags() | Qt::ItemIsUserCheckable);
    				pItem->setCheckState(0, Qt::Checked);
    			}	
     
    			pItem->setText(m_iFirstColumn, strItemName.Get());
    			//OffsetText(pItem);
     
    			return pItem;
    		}
     
    	}
     
    	return NULL;
    }
    Le code fait ce qui lui est demandé. Me manque juste ce fameux décalage. Du coup, si vous avez la solution, je suis preneur.

    A savoir que j'ai déjà essayé d'ajouter des espaces dans le text de mes items. Mais comme je me sers de ce text pour pour retrouver des objets dans mon soft, cette solution n'est pas vraiment bonne. Et j’espère que vous saurez m'aiguiller dans une solution plus correcte.

    En attendant vos réponse.
    Merci d'avance.
    Il y a dans le monde de l'internet deux catégories de personnes : ceux qui écrivent des messages faisant
    moins de 140 caractères et tous le

  2. #2
    Nouveau membre du Club Avatar de JakRenegade
    Homme Profil pro
    Etudiant en Informatique
    Inscrit en
    Avril 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Etudiant en Informatique

    Informations forums :
    Inscription : Avril 2012
    Messages : 33
    Points : 39
    Points
    39
    Par défaut
    Alors...

    Autant pour moi. L'indentation ne se fait que sur la colonne 0 et mes textes etaient en colonne 1... Erreur corriger. Mais si vous savez comment mettre l'indentation ailleurs que sur la colonne 0 je suis preneur.

    a plus
    Il y a dans le monde de l'internet deux catégories de personnes : ceux qui écrivent des messages faisant
    moins de 140 caractères et tous le

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

Discussions similaires

  1. Problème de décalage sur IE
    Par pracede2005 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 01/01/2008, 23h07
  2. Décalage sur une même ligne de formulaire
    Par lodan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 07/09/2006, 19h05
  3. Décalage sur une même ligne
    Par lodan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 03/08/2006, 18h24
  4. Problème de décalage sur une page
    Par baleiney dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 26/05/2006, 17h54
  5. [CSS] Décalage sur FireFox pour le moins étrange ...
    Par prgasp77 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 26/10/2005, 19h56

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