QList mit QList

Alles rund um die Programmierung mit Qt
Antworten
Ch.Holzer
Beiträge: 6
Registriert: 16. Dezember 2018 18:53

QList mit QList

Beitrag 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
Antworten