variable in methode nicht initialisiert?!

Alles rund um die Programmierung mit Qt
Antworten
frosch
Beiträge: 1
Registriert: 2. September 2006 12:56

variable in methode nicht initialisiert?!

Beitrag von frosch »

hab ne frage, die mich
schon seit einigen tagen beschäftigt.

ich hab mir so eine art qt widget gebastelt, wenn
das widget erstellt wird, wird die methode
"createwidget" aufgerufen. in dieser methode
wird auch ein attribut der klasse initialisiert
(das attribut *table).

alles läuft nach plan, das widget wird angezeigt.
wenn ich jetzt jedoch eine methode aufrufe, die
auf das attribut "table" zugreift (z.b. "insertName"),
gibts nen fehler: der pointer ist quasi leer?!

so eine scheisse, warum wird der pointer nicht
in der table-variablen gespeichert?!

gruß und danke

Code: Alles auswählen

 
void PortCheckboxTable::createWidget(QWidget* parent)
{
    HxPort::createWidget(parent);

    table = new QTable(1, 1, baseWidget);
    table->setEnabled(sensitivity);
    table->verticalHeader()->hide();
    table->setLeftMargin(0);
    table->setSorting(false);
    table->setDragEnabled(false);
    table->setSelectionMode(QTable::NoSelection);
    table->setHScrollBarMode(QScrollView::AlwaysOff);
    table->horizontalHeader()->hide();
    table->setTopMargin(0);
    table->setColumnStretchable(0, true);

    initTable();

    //for(int i = 0; i < 3; i++ )
    //    table->setItem( i, 0, new QCheckTableItem( table, "Check me" ) );
    layout->addWidget(table);
    layout->activate();
    baseWidget->adjustSize();
}

void PortCheckboxTable::insertName(const char* name)
{
    if( tableWithMessage ){
        //table->clearCellWidget(0, 0);
        //table->setItem(0, 0, new QCheckTableItem(table, name));
        table->numRows();
        tableWithMessage = 0;
    }
    else
    {
        int newNumRows = table->numRows() + 1;
        table->setNumRows(newNumRows);
        table->setItem( newNumRows - 1, 0, new QCheckTableItem(table, QString(name)));
    }
}
Antworten