首页 > 解决方案 > QTableView 从隐藏列中获取值

问题描述

我遇到了一个问题:我的任务是从 SQL 数据库中获取一些数据 ex (SELECT id, name, last_name FROM users);

然后我想在 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?

标签: c++qtqtableview

解决方案


好吧,我有同样的问题,我用这个解决了它:

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);

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

我不认为这是管理问题的一种优雅方式,但至少我可以从中检索到价值。


推荐阅读