- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要从 QSqlTableModel 复制两列并放入 QVector。
我正在尝试这个:
ParameterData pd;
QSqlTableModel *m = mapTbModels.value(table);
QList<QSqlField> parameterList = getFields(table);
for (int j = 0; j <parameterList.size(); j++) {
QSqlField f = parameterList[j];
QVector<QPointF> v;
if (f.type() != QVariant::Int)
continue;
else {
pd.name = f.name();
timer.start();
for (int i = 0; i < m->rowCount(); i++)
v << value(m, i, f.name());
qDebug() << "Database" << timer.elapsed();
}
pd.data = v;
pd.table = table;
emit data(pd);
emit status(QString::number(j*100/parameterList.size()));
QCoreApplication::processEvents();
}
最快的方法是什么?
最佳答案
我曾经用 Qt 5.2 和 postgres 做过一些性能测试来检查 qsql 的特性。事实证明,使用 QSqlTableModel 比使用像
这样的自己的 SQL 查询慢大约 1000 倍 QSqlQuery query("",db);
query.prepare("SELECT a.fueltype_longname, coalesce(a.bunkerlog_amount,0) FROM (\
SELECT f.fueltype_longname, b.bunkerlog_amount, rank() OVER (PARTITION BY b.bunkerlog_fueltype ORDER BY b.bunkerlog_id DESC) FROM data.t_bunkerlog2 b\
RIGHT JOIN data.t_fueltype f ON b.bunkerlog_fueltype = f.fueltype_longname \
) a WHERE a.rank=1");
query.exec();
因此对于数据密集型应用程序,请使用查询/准备/执行。如果您只想向用户显示简单的表格,为方便起见,请使用 QSqlTableModel 等。
关于c++ - 从 QSqlTableModel 获取数据并放入 QVector<QPointF> 的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28486127/
在我的图表中,我需要在每个QPointF中存储很多信息,但是当我子类QPointF时,它似乎没有效果,有人可以给我好的吗解决方案或想法? 代码是: from PyQt5.QtGui import *
我有一个自定义的二维点类型,它有一个模板转换运算符: struct MyPoint { double x, y; template operator T() const
QList markers; markers.append (QPointF (getLat (), getLon ())); QList :: iterator i; for (i = mark
我有一个 widget在 myWidget 的中心我用了 mousePressEvent()在 myWidget抓取鼠标按下事件。我要隐藏myWidget在鼠标按下时而不是在 widget 内部按下时
我需要从 QSqlTableModel 复制两列并放入 QVector。 我正在尝试这个: ParameterData pd; QSqlTableModel *m = mapTbModels.valu
我有一些点列表,存储在 QList 中 但现在我想在 opencv 中将 QPointF 转换为 Point。我该怎么做。 最佳答案 QPointF 默认保存 x 和 y 值作为 double,而 o
我想知道如何将 QPointf 位置转换为 PyQt 中的 QPoint 位置,因为我需要使用项目的位置来设置鼠标位置。我一直在尝试这个,但没有任何反应: xq=node.pos().x() yq=
我有一个 QChartView,它显示一些 2D 点,每个点代表一个特定项目 我想用项目名称标记每个点,而不是用它的 x、y 坐标作为默认行为 有什么方法可以实现覆盖创建或渲染标签的功能? 最佳答案
我是一名优秀的程序员,十分优秀!