Hallo,
danke für die Aufmerksamkeit.
Ich initialisiere das QTableWidget wie folgt:
Code: Alles auswählen
rows= 0;
table_headers << tr("Bezeichnung") << tr("Menge") << tr("Einheit") << tr("Einzel") << tr("Gesamt");
io_res_table = new QTableWidget(layoutWidget); // Erzeugen der Tabelle
io_res_table->setColumnCount(5); // Angabe der Spalten
io_res_table->setObjectName(QString::fromUtf8("io_res_table")); // Bezeichner der Tabelle
io_res_table->setMinimumSize(QSize(314, 142)); // Zuweisen der Minimal-Breite
io_res_table->setMaximumSize(QSize(314, 142)); // Zuweisen der Maximal-Breite
io_res_table->setGridStyle(Qt::SolidLine); // Setzen der Linienart
table_header_view_h = new QHeaderView(Qt::Horizontal, io_res_table); // Anlegen einer Tabellenkopf-Ansicht
io_res_table->setHorizontalHeaderLabels(table_headers); // Beschriften des Tabellenkopfes
io_res_table->setHorizontalHeader(table_header_view_h); // Zuweisen der Ansicht
table_header_view_h->setResizeMode(QHeaderView::Interactive);
for(int i= 0; i < 5; i++)
table_header_view_h->resizeSection(i, colSize[i]); // Bestimmen der Spaltenbreiten
und verwende anschließend diese Methode, um Reihen in die Tabelle einzufügen:
Code: Alles auswählen
void Project::Insertion()
{
edit[0]= io_res_term; // Setzen eines Zeigerarrays auf Eingabefelder
edit[1]= io_res_amount;
edit[2]= io_res_unit;
edit[3]= io_res_price;
io_res_table->insertRow(rows); // Einfuegen einer Reihe
rows++; // Inkrementieren des Reihenzaehlers
if(rows == 10 || rows == 100) // Anpassen der 1. Spaltenbreite
colSize[0]-= 7;
table_header_view_h->resizeSection(0, colSize[0]);
io_res_table->scrollToItem( io_res_table->item(rows-1, 0) , QAbstractItemView::PositionAtTop);
for(int i= 0; i < 4; i++) { // Zuruecksetzen der Eingabefelder
item[i]= new QTableWidgetItem(tr("%1").arg( edit[i]->text() ));
edit[i]->setText(tr(""));
io_res_table->setItem(rows-1, i, item[i]);
}
}
Muss man vielleicht beim anlegen des QTableWidget's auf Eingenschaften wie Größe, Reihen- oder Spaltenanzahl achten, wenn man es automatisch scrollbar machen möchte?
Dank und Grüße