Code: Select all
class TreeItem
{
public:
explicit TreeItem(QVariantList data, TreeItem *parentItem = nullptr);
void appendChild(std::unique_ptr &&child);
TreeItem *child(int row);
int childCount() const;
int columnCount() const;
QVariant data(int column) const;
int row() const;
TreeItem *parentItem();
private:
std::vector m_childItems;
QVariantList m_itemData;
TreeItem *m_parentItem;
};
Code: Select all
std::vector
Ich sehe keinen Sinn darin, hier einen Zeiger zu verwenden, weder einfach noch intelligent, da dies einen hinzufügt Indirektionsgrad, der nicht notwendig ist und bei Modellen mit vielen Elementen kostspielig sein kann.