Qt开发,tableview和QSqltableModel结合使用,当数据多于256,tableview->scrollToBottom()就只到第256个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt开发,tableview和QSqltableModel结合使用,当数据多于256,tableview->scrollToBottom()就只到第256个相关的知识,希望对你有一定的参考价值。

我用到了一个控件tableview,和QSqltableModel结合使用,QSqltableModel用于提供数据库的数据。
Model=new
QSqlTableModel(this);
Model->setTable("data");
Model->setEditStrategy(QSqlTableModel::OnManualSubmit);
Model->select();
ui->Tableview->setModel(Model);
ui->Tableview->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->Tableview->verticalHeader()->hide();
ui->Tableview->setColumnWidth(0,50);
ui->Tableview->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->Tableview->scrollToBottom();
当数据大于256个时,只到在第256个上,不是最下面的数据。
如果用
if(dataModel->canFetchMore())
dataModel->fetchMore();
那么数据大于512个时,就只到第512个数据,不是最下面的数据。

这种问题怎么解决,谢谢
已解决,应该用
while(dataModel->canFetchMore())
dataModel->fetchMore();

参考技术A 用list吧。

请问在QT4中我用QTableView 和QSqlTableModel操作数据库,我想改变tableview某行的背景色应该怎么做?

能给出代码最好或者给个例子,发到邮箱zlyrtn@126.com。谢谢了!

参考技术A 重载QSqlTableModel::data(const QModelIndex &index, int role) const函数;
QSqlTableModel::data(const QModelIndex &index, int role) const

if(role == Qt::BackgroundRole)
return QVariant(QColor(Qt::yellow));

以上是关于Qt开发,tableview和QSqltableModel结合使用,当数据多于256,tableview->scrollToBottom()就只到第256个的主要内容,如果未能解决你的问题,请参考以下文章

QT Quick TableView rowDelegate crash android

Qt 5.3.1 TableView 未更新

如何在Qt 的tableview中根据某一单元格的数据来设置该行的字体颜色或背景色。

Qt tableView - 添加颜色

qt tableview使用

将模型绑定到 Qt TableView