Alles rund um die Programmierung mit Qt
-
plip
- Beiträge: 42
- Registriert: 30. September 2008 16:37
Beitrag
von plip »
Kann mir jemand erklären warum dies:
Code: Alles auswählen
for(int i = 0; i < table->columnCount(); i++)
{
for(int j = 0; j < table->rowCount(); j++)
{
QString s = "Z: "+QString::number(j+1, 10)+" "+"S: "+QString::number(i+1, 10);
QTableWidgetItem* it = new QTableWidgetItem(s);
table->setItem(j+1, i+1, it);
}
}
zu folgender Ausgabe führt:
-
Dateianhänge
-

- Clipboard02.jpg (14.49 KiB) 2758 mal betrachtet
-
solarix
- Beiträge: 1133
- Registriert: 7. Juni 2007 19:25
Beitrag
von solarix »
evt hängts ja damit zusammen, dass du über die Tabelle hinausschreibst?
Code: Alles auswählen
for(... ; j < table->rowCount();... )
{
...
table->setItem(j+1, i+1, it);
-
plip
- Beiträge: 42
- Registriert: 30. September 2008 16:37
Beitrag
von plip »
Ich finde es zwar in der Doku nirgendwo, aber ich bin der Meinung, dass die Indizierung von Zeilen und Spalten bei 1 beginnt.
Wenn ich
schreibe, gibts nen segmentation fault.
-
upsala
- Beiträge: 3946
- Registriert: 5. Februar 2006 20:52
- Wohnort: Landshut
-
Kontaktdaten:
Beitrag
von upsala »
Wie kommst du darauf, daß die Zählung bei 1 beginnen sollte? Wann fängt bei C++ überhaupt mal eine Zählung bei 1 an? Ansonsten gibts ja noch die
Doku
-
solarix
- Beiträge: 1133
- Registriert: 7. Juni 2007 19:25
Beitrag
von solarix »
mir ist nichts.. aber auch wirklich gar nichts bekannt, was bei Qt einen Startindex von 1 hat...
Ich bin mir sicher, dass
Code: Alles auswählen
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QTableWidget w(19,1);
for (int r=0; r<w.rowCount(); r++)
for (int c =0; c<w.columnCount(); c++)
{
QString s = "Z: "+QString::number(r+1, 10)+" "+"S: "+QString::number(c+1, 10);
QTableWidgetItem* it = new QTableWidgetItem(s);
w.setItem(r,c, it);
}
w.show();
return app.exec();
}
auch bei dir funktioniert...