c++ - 将计算列添加到 Qt QSqlQueryModel

标签 c++ qt

我要为这个下层的每个结果计算新行

QSqlQueryModel *model = new QSqlQueryModel();
model->setQuery("SELECT height,age from patients", DB->getDB());
model->setHeaderData(4,Qt::Horizontal,tr("height"));
model->setHeaderData(2,Qt::Horizontal,tr("age"));
ui->tableView->setModel(model);    
ui->tableView->show();

作为

ratio = height/age;

我可以吗?怎么办?

谢谢!

最佳答案

你可以的。

您可以访问 QSqlQueryModel 中的项目,例如:

QSqlRecord rec = model->record(row); // get the row you need
QVariant height = rec.field("height").value(); // or access it via index
QVariant age = rec.field("age").value();
double ratio = height.toDouble() / age.toDouble();

只需根据您的需要调整代码,并可能为其添加值检查。

干杯

关于c++ - 将计算列添加到 Qt QSqlQueryModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29644959/

相关文章:

c++ - Qt:我们可以在运行时更改资源内容吗?

c++ - 在 linux 上的 C/C++ 中,如何创建预锁定的互斥体

c++ - 在 Mac 上找不到 Qt 库

c++ - 在子尺寸更改后调整父窗口的大小

c++ - cmake target_compile_definitions 和 target_link_libraries 冲突,可能与 Qt 行有关?

qt - CMake 如何知道要使用哪个版本的 Qt?

c++ - 如何使用 C 或 C++ 获取目录中的文件列表?

java - 是否存在技术原因导致 Java 中的 Final 不像 C++ 中的 const 那样严格?

c++ - C++1y 模式下的 Clang >= 3.3 无法解析 <cstdio> header

c++ - boost::ref 没有发生匹配调用错误,但 std::ref 没有