Je parle d'un QTableWidget. Vous pouvez utiliser un QList.You enregistrer votre QCheckBox dans ce QList et l'utiliser, quand il y a un changement
Peut-être que vous devriez consulter la documentation
Voici une solution. Je ne peux pas le lancer en ce moment, alors dites-moi s'il vous plaît si ça fonctionne. Veuillez valider la valeur de ligne. Je ne suis pas sûr que ce soit possible, cette ligne peut avoir la valeur -1 lorsque vous supprimez la dernière ligne;)
#include "TestTableWidget.h"
#include "ui_TestTableWidget.h"
TestTableWidget::TestTableWidget(QWidget *parent) : QMainWindow(parent), ui(new Ui::TestTableWidget)
{
ui->setupUi(this);
tableWidget = new QTableWidget(this);
tableWidget->setColumnCount(1); // Just an example
ui->gridLayout->addWidget(tableWidget);
connect(tableWidget, SIGNAL(itemSelectionChanged()), this, SLOT(slotChange()));
for(int i = 1; i < 10; i++)
{
addRow("Row " + QString::number(i));
}
}
TestTableWidget::~TestTableWidget()
{
delete ui;
}
void TestTableWidget::addRow(QString text)
{
int row = tableWidget->rowCount();
qDebug() << "Current row count is " + QString::number(row);
// Add new one
QTableWidgetItem *item = new QTableWidgetItem(text);
tableWidget->insertRow(row);
tableWidget->setItem(row, 0, item);
// Add item to our list
}
void TestTableWidget::slotChange()
{
int row = tableWidget->currentRow();
qDebug() << "Change in table. Current row-index: " + QString::number(row);
// This value is zero-based, so you can use it in our list
}