该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
QSqlQueryModel类为SQL结果集提供了一个只读数据模型
先说一下分页思路吧:QSqlQueryModel 是通过 setQuery 函数进行查询的,setQuery 函数支持sql语句查询,那sql语句中有有一个 LIMIT ,就是使用LIMIT进行分页。
LIMI:Limit接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目
LIMI介绍:https://www.cnblogs.com/acm-bingzi/p/msqlLimit.html
这篇文章就是使用sql语句的LIMIT进行分页,sql语句拼接是重点。注意:拼接sql一定要注意空格、空间、空格
第一步:重写 QSqlQueryModel
#include
#include
classcustomQSqlQueryModel : public QSqlQueryModel
{
Q_OBJECT
public:
explicit customQSqlQueryModel(QObject*parent = nullptr);
//设置sql语句 到 from tableName 结束
void setSql(QString sql);
//设置过滤条件
void setFilter(QString filter);
//设置sql查询条数
void setLimitCount(int count);
//设置排序
int setOrderBy(QStr