ich bin noch ganz frisch im Bereich qt und C++ und hoffe ich finde hier die ersehnte Hilfe.
Ich benutze den qt creator aber ich denke mein Problem ist eher auf einen c++ Fehler meinerseits zurück zu führen.
Aber genug dazu.
Ich habe eine klasse die die grundlegenden Funktionen einer verketteten Liste bereitstellt (ich glaub hier aus dem Forum).
Da sie ansicht funktioniert und das Problem daher woanders liegen muss, poste ich die klasse erstmal nicht.
Weiterhin habe ich eine MainWindow Klasse, die ein Objekt dbHm erzeugt und in diesem Objekt wird eine verkettete Liste erzeugt die per getValues() geholt wirdl und danach per setValues() an ein custom widget übergeben wird, in dem ich den Inhalt der Liste dann verarbeiten möchte. Leider funktioniert das nicht. Das Programm kompiliert und startet zwar aber beim beenden stürzt es ab. Und die Werte bzw die Liste wird auch nicht übergeben.
Code: Alles auswählen
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "dbconnectholdemmanager.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent), ui(new Ui::MainWindowClass)
{
ui->setupUi(this);
DbConnectHoldemmanager *dbHm = new DbConnectHoldemmanager();
ui->renderGraph->setValues(dbHm->getValues());
}
MainWindow::~MainWindow()
{
delete ui;
}hier noch die Klasse in der die Liste erzeugt wird:
Code: Alles auswählen
#include "dbconnectholdemmanager.h"
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QVariant>
#include <QtDebug>
#include <iostream>
#include <QMessageBox>
#include "mainwindow.h"
using namespace std;
DbConnectHoldemmanager::DbConnectHoldemmanager()
{
(...)
values.AddItem(1234);
(...)
}
CListe DbConnectHoldemmanager::getValues()
{
return this->values;
}
Code: Alles auswählen
#ifndef DBCONNECTHOLDEMMANAGER_H
#define DBCONNECTHOLDEMMANAGER_H
#include "CListe.h"
class DbConnectHoldemmanager
{
public:
DbConnectHoldemmanager();
~DbConnectHoldemmanager();
CListe getValues();
private:
CListe values;
};
#endif // DBCONNECTHOLDEMMANAGER_HWenn ich keine Liste sondern einen normalen int übergebe klappt alles wie vermutet. Ich denke es liegt also an der Übergabe der Liste.
Wenn bis hierhin alles richtig sein sollte, werde ich das schreiben der Liste noch posten. Der ganze Post hier wird sonst denke ich zu groß.
Vielen Danke schonmal an alle
Gruß
Andy