ich hab ein "kleines Problem" mit QTreeWidget. Wenn man die eingefügten Bilder (Bild1, Bild2) anschaut, sieht man es vllt...
Es ist das Bild des selben QTreeWidget nur das unterschiedlich sortiert wurde... wenn man die Bilder genau anschaut, fällt aber auf, dass damit auch die Namen der "Subeinträge" geändert wurden. (Lokale Box wird zu Name der neuen Box)
Außerdem stimmen die "falsche[n] Namen" nicht.
Im folgenden steht der Code der für das Erstellen dieser Teile zuständig ist (ist etwas komplizierter als scheinbar benötigt, das liegt aber an anderen Teilen des Programms, die dies so benötigen).
Kann mir einer sagen was da falsch ist?
Im folgenden: QList < C_AbstractHierachyObject* > ml_children;
Code: Alles auswählen
QList < QTreeWidgetItem* >& C_AbstractHierachyObject::ConstructTreeWidgetItems ( QList < QTreeWidgetItem* > *fp_result ) const
{
if ( fp_result == NULL )
fp_result = new QList < QTreeWidgetItem* >;
foreach ( C_AbstractHierachyObject *p_object, ml_children )
{
if ( p_object->Type ( ) == C_AbstractHierachyObject::ObjectTyp_Box )
( *fp_result ) += &( p_object->ConstructTreeWidgetItems ( ) );
}
return ( *fp_result );
}
QTreeWidgetItem& C_AbstractHierachyObject::ConstructTreeWidgetItems ( ) const
{
QTreeWidgetItem *p_item ( ConstructTreeWidgetItem ( ) );
foreach ( C_AbstractHierachyObject *p_object, ml_children )
{
if ( p_object->Type ( ) == C_AbstractHierachyObject::ObjectTyp_Box )
{
QTreeWidgetItem *p_itemChild ( &( p_object->ConstructTreeWidgetItems ( ) ) );
p_itemChild->setText ( 0, p_object->Name ( ) );
p_item->addChild ( p_itemChild );
}
}
return ( *p_item );
}
QTreeWidgetItem *C_AbstractHierachyObject::ConstructTreeWidgetItem ( QTreeWidgetItem **fpp_ptr ) const
{
QTreeWidgetItem *p_result ( NULL );
SetTreeWidgetItem ( p_result );
if ( fpp_ptr != NULL )
( *fpp_ptr ) = p_result;
return p_result;
}(W_ExplorerWidget : public QTreeWidget;)
Code: Alles auswählen
void W_ExplorerWidget::GetWidgetItems ( )
{
if ( mp_rootBox == NULL )
return;
clear ( );
QList < QTreeWidgetItem* > list;
mp_rootBox->ConstructTreeWidgetItems ( &list );
foreach ( QTreeWidgetItem *p_item, list )
insertTopLevelItem ( 0, p_item );
}Hat einer nen Fehler gefunden?