Seite 1 von 1

Problem mit Darstellung von Text in QTable

Verfasst: 4. April 2005 11:55
von Notwist
Hallo Leute,

habe mal wieder ein Problem:

Ich habe zwecks objektorientierten Gedanken meine schon funktionierende Tabellen-Funktion, die Einträge aus einer ListView ausliest und in einer Tabelle darstellt in eine neue Klasse implementiert und übergebe nun von der Hauptklasse die entsprechenden Zeigerelemente auf meine ListView und meine Table an diese Klasse, um sie dort auszulesen und zu verändern. Nun geht das alles bis zu dem Punkt, an dem er den Text in der Tabelle darstellen soll (wie gesagt, das ging in der Hauptklasse schon). Er macht mit der Tabelle alles richtig, nur den text stellt er nicht da. Wenn ich nach dem Einfügen des Textes in die Tablle über setText die Tabellezelle mit text() in einen String auslese, steht der da auch drin. Habe auch mal show() und update() ausprobiert, nichts ging. Wenn ich eine total neue Tabelle kreiere, geht es komischerweise. Ist das wieder ein Designer-Problem, weil das Fenster, das ich verändern will, im Designer gemacht wurde? Hier nochmal der Code und die Übergabe:

void Table::getTable (QTable *table) //Übergabe der Table
{
contentTable = new QTable(*table);
}

void Table::getListView(QListView *listview) //Übergabe der ListView
{
registerListView = new QListView( *listview );
}

void Table::fillTable()
{
int c=0, i=0, j=0, n=0, x=0;
/* QTable* contentTable = new QTable(); // Kommentar, mit ner total // // neuen Tabelle geht es


contentTable->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)4, 0, 0, contentTable->sizePolicy().hasHeightForWidth() ) );
contentTable->setNumRows( 5 );
contentTable->setNumCols( 5 );
contentTable->setReadOnly( TRUE );*/

QString t;

n = registerListView->currentItem()->childCount();
c = registerListView->columns();
sizeTableRows(n);
if (registerListView->currentItem()->childCount()!=0)
{
eraseTable();

contentTable->setText(0, COL_ADR, registerListView->currentItem()->text(COL_ADR));


QListViewItem* item = registerListView->currentItem()->firstChild();


for (i=1; i<=c-1; i++){
contentTable->setText(1, i, item->text(i));
QString t=contentTable->text(0,i);}

while (x<n-1)
{
j++;
x++;
item = item->nextSibling();

for (i=1; i<=c-1; i++){
contentTable->setText(j, i, item->text(i));
t=contentTable->text(j,i);}
}
}

contentTable->updateCell(0,0);
resizeTable();
contentTable->show();
}

Verfasst: 6. April 2005 15:44
von Goos
Siehe "Verstaendnisfrage zur Objektuebergabe" http://www.qtforum.de/forum/viewtopic.php?t=331 ..ist von das Sache her das gleiche Problem.

Goos