gpt4 book ai didi

python - 如何使用一片 QSqlQueryModel?

转载 作者:行者123 更新时间:2023-11-30 05:34:49 24 4
gpt4 key购买 nike

我有一个包含查询结果的 QSqlQueryModel 可以有几万行。

这个模型有两个用例:

  1. 一个用例,我需要完整的模型来计算行的一些统计信息;
  2. 一个用例,我想显示内容的概览

我的问题是第二种情况,什么是“切片” QSqlQueryModel 以仅显示前 N 条记录的正确方法?

我想到了几种解决方案,但要么不完全适合,要么无法使它们发挥作用:

  • 在查询中添加一个 LIMIT:因为情况 1 不适合。我可以想象有 2 个模型(一个有限制,一个没有)但是
    • 不太好
    • 查询来自用户输入,因此他/她可以已经插入了 LIMIT 个,不能有两个
  • 显示的分页,但在实践中无法理解如何实现(目前,整个模型显示在 QTableView 中)是否有更好的选择?

我现在的代码基本上是:

QString q = query_edit->toPlainText();
QSqlQuery query (q);
QSqlQueryModel *model = new QSqlQueryModel;
model->setQuery(query);
QTableView *result_view = new QTableView;
result_view->setModel(model);

最佳答案

我真的鼓励您使用两个模型。如果您想事后更改内容,您将享受自由。

如果您仍然想要一个单一的模型,您可以执行以下操作:

  1. 子类 QSqlQueryModel
  2. 重新实现 int rowCount(...) const 方法以满足您的需要。如果您需要一些花哨的概述内容 -> 重新实现 QVariant data(...) const 和 int columnCount(...) const 方法。
  3. 实现某种原始输出函数以获取所有数据以进行统计分析。

关于python - 如何使用一片 QSqlQueryModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34075491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com