Будучи новичком в Qt. Я хотел знать, есть ли способ добавить первичный ключ в QtableWidget
. Причина, по которой я хочу это сделать, заключается в том, что я хочу создать механизм, так что если я добавлю строку с ключом, которого нет в таблице, он будет добавлен как новая строка, в противном случае существующая строка с этим ключом будет обновлена. предложения о том, как я мог бы сделать это?
// Assuming m_table of QTableWidget* type
// Assuming single column
const int rowCount = m_table->rowCount();
if(rowToInsert < rowCount)
{
m_table->setItem(rowToInsert, 0, /* your data */ );
}
else
{
m_table->setRowCount(rowCount + 1);
m_table->setItem(rowCount + 1, 0, /* your data */ );
}
использование QTableWidgetItem::setData ( int role, const QVariant & value )
способ установить ваши данные (первичный ключ) с помощью пользовательских role
, а также QVariant QTableWidgetItem::data ( int role )
чтобы получить это. role
должно быть Qt::UserRole
или любое число выше, чем 32
, Смотрите ссылку на QTableWidgetItem :: setData (int role, const QVariant & значение) для получения дополнительной информации.
И если вы новичок в Qt, вы должны искать Qt модель / вид, в вашем случае это может быть разумно сделать вашу регистрацию в model
и отобразить данные модели в QTableView
вместо QTableWidget
,