QTableView从隐藏列获取价值

时间:2019-06-18 19:50:12

标签: c++ qt qtableview

我遇到了一个问题: 我的任务是从SQL数据库中获取一些数据(例如,SELECT ID,名称,来​​自用户的last_name);

然后我要在QTableView中显示此数据:

QSqlQueryModel *model = database->fetchAll(SELECT id, name, last_name FROM users);

QTableView *tableView = new QTableView();
tableView->setModel(model);
tableView->hideRow(0); // hide id
const QModelIndex selectedRowModel = tableView->selectionModel()->selectedRows()[0]; // i will get 'name', because 'id' is hidden

如何获取当前所选行的ID?

1 个答案:

答案 0 :(得分:0)

嗯,我遇到了同样的问题,并使用以下方法解决了这个问题:

QSqlQueryModel *model = database->fetchAll(SELECT id, name, last_name FROM users);

QTableView *tableView = new QTableView();
tableView->setModel(model);
tableView->hideRow(0); 

tableView->showRow(0); //use showRow() everytime you need the value. 

const QModelIndex selectedRowModel = tableView->selectionModel()->selectedRows()[0];

tableView->hideRow(0);

显示/隐藏操作是如此之快,以至于您看不到它的发生。

我认为这不是解决问题的绝妙方法,但至少我可以从中获取价值。