| Name | Math | Physics | Average grade |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
disable Bearbeitung und setItem auf mehrere Reihen in QTableWidget
die Spalte "Mathematik" und "Physik" ist für die Benutzer um die Zahl einzugeben, die Spalte "Durchschnitt "KANN nicht Wert gesetzt werden, es ist nur für den Durchschnittswert nach Benutzer setzen" Mathe "und" Physik "Grad. Wie kann ich die Bearbeitung deaktivieren und trotzdem den berechneten Wert in der Spalte "Durchschnitt" anzeigen?
Ich möchte Inhalt auf mehrere Zeilen schreiben, aber mein Code funktioniert nicht
ui->tableWidget->setColumnCount(4); ui->tableWidget->setRowCount(8); ui->tableWidget->setSortingEnabled(false); QTableWidgetItem *newItem = new QTableWidgetItem(tr("Hello World")); for (int i=0; i< ui->tableWidget->rowCount(); i++) ui->tableWidget->setItem(i, 0, newItem);
Es ist eine Nachricht, wie diese
QTableWidget: cannot insert an item that is already owned by another QTableWidget
Ich verstehe immer noch nicht, weil Ich bin ein Neuling mit QT. Bitte hilf mir, vielen Dank! :)
-Code aktualisiert:
for (int i = 0; i < ui.tableWidget->rowCount(); i++) {
QTableWidgetItem *icon_item = new QTableWidgetItem;
QIcon icon(":/myproject/icon/test.png");
icon_item->setIcon(icon);
ui.tableWidget->setItem(i, 0, icon_item);
}
for (int j = 0; j < ui.tableWidget->rowCount(); j++) {
ui.tableWidget->item(j, 3)->setFlags(ui.tableWidget->item(j, 3)->flags() & ~Qt::ItemIsEditable);
}
Dank viel. Ihre 2. Lösung funktioniert gut für mich. Das erste funktioniert jedoch nicht, weil ich eine Zugriffsverletzung habe. Mein Code ist 'für (int i = 0; i rowCount(); i ++) { ui.tablewidget-> Element (i, 3) -> setFlags (ui.tablewidget-> item (i, 3) -> flags() & ~ Qt :: ItemIsEditable); } ' wenn ich debugge, wenn ich bis 4 ausführen, habe ich Zugriffsverletzung :( –
gnase
Dann dereferenzieren Sie wahrscheinlich einen Nullzeiger, weil SetItem() für diese Zelle/Spalte nicht aufgerufen wurde. – jpnurmi
so was sollte ich Um dieses Problem zu vermeiden (tut mir leid, ich bin ein Neuling) – gnase