Seite 1 von 1

QList mit QList

Verfasst: 29. Dezember 2020 13:55
von Ch.Holzer
Hallo,
Ich bin kein Programmierer habe allerdings ein Problem zu lösen.
ich habe eine verkettete Liste (QList) mit dem Inhalt einer weiteren verketteten Liste (QList).
Beim Debugen ist alles in Ordnung, beim Ausdrucken kommt Mist raus. :x
Die Startwerte bei der Ausgabe ( Iterator) scheinen nicht auf den Anfang der Listen zu stehen.

Anbei die vereinfachte Version:

Code: Alles auswählen

class AA
{
public:
    AA();
    int A_Nummer = 0;
    QString AA_Text ="";
    QList <BB> bb;
    BB b_b;
};

class BB
{
public:
    BB();
    int B_Nummer = 0;
    QString BB_Text ="312";
};

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    QList <AA> aa;
    AA a_a;

private:
    Ui::MainWindow *ui;
};


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    aa.begin();
    int a = 0;
    int b = 0;
    int c = 0;
    int j = 0;
    QString line;
    for (j = 0; j < 10; j++)
    {
        a_a.A_Nummer = j;
        a_a.AA_Text = QString("AA = %1").arg(j);

        a_a.bb.begin();
        a_a.bb.clear();
        for (a = 0; a <= j; a++)
        {
            a_a.b_b.B_Nummer = a;
            a_a.b_b.BB_Text = QString("BB = %1").arg(a);
            a_a.bb.append(a_a.b_b);
        }
        a_a.bb.end();
        aa.append(a_a);
    }
    aa.end();

    QList <AA> :: iterator itr;
    QList <BB> :: iterator itr1;
    for (itr = aa.begin();itr != aa.end() ; ++itr)
    {
        c = 0;
        for (itr1 = a_a.bb.begin(); itr1 != a_a.bb.end(); ++itr1 )
        {
            qDebug () << QString ("A = %1").arg(a_a.A_Nummer);
            qDebug () << QString ("B = %1").arg(a_a.b_b.B_Nummer);
            line = QString ("AA = %1 , BB = %2").arg(b).arg(c++) ;
            qDebug ()<< line;
        }
        b++;
    }
}
Wo liegt mein Fehler ?

Christian