python tableview添加内容_如何QTableView在最后增加一行汇总?先谢谢各位了

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

请教一下 我用QTableView和QSqlQueryModel 执行select * from person_t 显示了需要的数据 现在想在最下面显示一行 将对应的字段汇总 类似excel中 最下面加一行汇总 这个汇总行怎么加载和显示啊

QSqlDatabase db;

if(QSqlDatabase::contains("Book"))

db = QSqlDatabase::database("Book");

else

db = QSqlDatabase::addDatabase("QSQLITE", "Book");

db.setDatabaseName("test.db");

if (!db.open())

{

qDebug() << "数据库打开失败";

return;

}

model = new QSqlQueryModel(this);

model->setQuery("select * from person_t", db);

// model->setHeaderData(0, Qt::Horizontal, tr("序号"));

model->setHeaderData(1, Qt::Horizontal, tr("时间"));

model->setHeaderData(2, Qt::Horizontal, tr("姓名"));

model->setHeaderData(3, Qt::Horizontal, tr("数据1"));

model-

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在一个QTableView中显示多个QSqlTableModels的内容,你需要创建一个QAbstractTableModel的子类,该子类将作为多个QSqlTableModels的代理(proxy)。该代理模型需要实现以下方法: 1. rowCount() 和 columnCount():返回表格的行数和列数。 2. data():返回表格某个单元格的数据。 3. setSourceModel():将多个QSqlTableModels设置为源模型。 以下是一个简单的示例: ```python from PyQt5.QtCore import Qt, QAbstractTableModel, QModelIndex from PyQt5.QtSql import QSqlTableModel from PyQt5.QtWidgets import QTableView class MultiTableModel(QAbstractTableModel): def __init__(self, models, parent=None): super().__init__(parent) self.models = models def rowCount(self, parent=QModelIndex()): return sum(model.rowCount(parent) for model in self.models) def columnCount(self, parent=QModelIndex()): return self.models[0].columnCount(parent) def data(self, index, role=Qt.DisplayRole): row = index.row() col = index.column() model = self.models[row // model.rowCount()] index = model.index(row % model.rowCount(), col) return model.data(index, role) def setSourceModels(self, models): self.beginResetModel() self.models = models self.endResetModel() # usage example model1 = QSqlTableModel() model1.setTable("table1") model1.select() model2 = QSqlTableModel() model2.setTable("table2") model2.select() multiModel = MultiTableModel([model1, model2]) tableView = QTableView() tableView.setModel(multiModel) ``` 在此示例中,MultiTableModel作为多个QSqlTableModels的代理模型,将多个模型的数据合并到一个表格中。在setSourceModels()方法中,我们将要显示的多个QSqlTableModels设置为源模型。最后,我们将MultiTableModel设置为QTableView的模型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值