Y at-il un moyen de savoir si le QTreeWidgetItem
que je regarde est de niveau supérieur ou non? J'ai un programme s'écraser quand j'essaye de prendre le texte d'un parent si l'article est de niveau supérieur (aucun parent).Rechercher si QTreeWidgetItem est de niveau supérieur
4
A
Répondre
17
mentionnant the documentation:
La principale différence entre le haut niveau éléments et celles des niveaux inférieurs de l'arbre est qu'un élément de niveau supérieur n'a pas de parent (). Cette information peut être utilisée pour faire la différence entre les éléments, et est utile de savoir lors de l'insertion et en supprimant des éléments de l'arborescence.
if (!node.parent()) {
// top-level item
}
3
Je suggère que vous pouvez vérifier si le parent du QTreeWidgetItem est NULL.
const int FIRST_NODE_INDEX = 0;
QTreeWidget* pTreeWidget = new QTreeWidget(this);
pTreeWidget->setColumnCount(1);
QList<QTreeWidgetItem *> ItemList;
for (int i = 0; i < 10; ++i)
{
ItemList.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i))));
}
pTreeWidget->insertTopLevelItems(0, ItemList);
if(!ItemList.at(FIRST_NODE_INDEX)->parent())
{
qDebug() << "is TopLevel";
}
Espérons que ça aide!
2
treeWidget->indexOfTopLevelItem(item) > -1
2
Les éléments de plus haut niveau n'ont aucun élément parent.
bool isTopLevelItem(QTreeWidgetItem* aItem)
{
return (aItem->parent() == nullptr);
}
Ou en utilisant une fonction lambda.
void function()
{
// ...
auto isTopLevel = [](QTreeWidgetItem* aItem){ return (aItem->parent() == nullptr); };
// ...
if (isTopLevel(item))
{
// ...
}
}
Questions connexes
- 1. tableau à un niveau supérieur
- 2. plus d'un TreeNode de niveau supérieur est possible?
- 3. Si mysql_num_rows est supérieur à 0
- 4. Cakephp Route Demande de niveau supérieur
- 5. [Qt] Personnalisation de QTreeWidgetItem
- 6. Rechercher si InputStream de DataHandler est vide
- 7. rechercher si le verrouillage de table est désactivé
- 8. Obtenir le site Web parent pas le niveau supérieur
- 9. Traitement des exceptions de niveau supérieur ActionScript 3
- 10. Comment puis-je savoir si la souris se trouve sur une fenêtre de niveau supérieur?
- 11. Utilisation de MDI MDI avec plusieurs fenêtres de niveau supérieur
- 12. Coin arrondi non pixélisé pour la fenêtre de niveau supérieur
- 13. WPF CommandBinding PAS sur l'élément de niveau supérieur/Window/this
- 14. Créer un nouveau menu de niveau supérieur dans Visual Studio
- 15. Valider si l'âge est supérieur à 18 ans
- 16. Vérification si un NSDate est supérieur à un autre
- 17. Comment obtenir le conteneur de niveau supérieur d'un composant JComponent?
- 18. Exclure un répertoire de niveau supérieur d'un paquet setuptools
- 19. Wrap sérialisé données à une balise XML de niveau supérieur
- 20. Fichier .mak de niveau supérieur pour Visual Studio?
- 21. comment configurer contextmenu de qtreewidgetitem en qt
- 22. Comment extraire uniquement div de niveau supérieur avec jQuery?
- 23. Quels sont les autres programmes OCaml de niveau supérieur? (Vista)
- 24. Suppression d'éléments de niveau supérieur d'un jeu jQuery
- 25. Au cours de jQuery Animation, niveau supérieur élément UL disparait
- 26. Découvrir quelle fonction de niveau supérieur effectue beaucoup d'appels de bas niveau
- 27. Rechercher si un fichier audio est en cours de lecture
- 28. Question d'itinéraire personnalisé MVC: route d'un niveau supérieur?
- 29. Comment rendre un objet flash rendu NON au niveau supérieur?
- 30. Comment puis-je trouver ou enregistrer la fenêtre de niveau supérieur X11 à partir de laquelle une fenêtre de niveau supérieur a été ouverte?