QT - Как получить значения из одной строки в QTableView

У меня есть QTableView с несколькими записями одна строка содержит четыре столбца. Мне нужно получить эти 4 значения индекса (имя, фамилия, возраст, имя пользователя), чтобы удалить их в SQLite, поэтому мне нужно эти четыре значения, чтобы поместить в запрос на удаление. Я ожидаю щелкнуть по каждому индексу строки ТО и вернуть все 4 значения. Как мне это сделать? Спасибо

2 ответа

Решение

Я не вижу проблемы. С QModelIndex Вы можете получить любые данные относительно данного модельного индекса.

void GuiClass::onTableCellClicked(const QModelIndex &index)
{
    int row = index.row();
    QString name = index.sibling(row, 0).data().toString();
    QString surname = index.sibling(row, 1).data().toString();
    int age = index.sibling(row, 2).data().toInt();
    QString username = index.sibling(row, 3).data().toString();
    ...
}

Во-первых, вам нужно обрабатывать клики в представлении таблицы. Для этого вы можете справиться QAbstractItemView::clicked(const QModelIndex &index) сигнал и подключите его к соответствующему слоту. Например:

void GuiClass::onTableCellClicked(const QModelIndex &index)
{
    QString cellText = index.data().toString();
    [..]
}
Другие вопросы по тегам