gpt4 book ai didi

c++ - 如何编辑 QSqlTableModel 中的特定列

转载 作者:太空宇宙 更新时间:2023-11-04 11:26:31 26 4
gpt4 key购买 nike

我想从数据库中显示一个表并显示它,但也想根据一个函数修改特定的列

QSqlTableModel *model = new QSqlTableModel(parentObject, database);
model->setTable("employee");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
model->setHeaderData(0, Qt::Horizontal, tr("Name"));
model->setHeaderData(1, Qt::Horizontal, tr("Salary"));
model->setHeaderData(2, Qt::Horizontal, tr("encrypted_item"));
QTableView *view = new QTableView;
view->setModel(model);
view->hideColumn(0); // don't show the ID
view->show();

但是现在我不想打印加密的项目,而是想解密并显示它,我该怎么做呢?

最佳答案

您应该使用QSqlQueryModel 并设置您想要的查询,但您知道QSqlQueryModel 是不可编辑的。一个解决方案是继承 QSqlQueryModel 并重新实现 Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) const 方法,该方法返回一组标志,其中 Qt::ItemIsEditable 已设置。您可以找到一个很好的可编辑QSqlQueryModel 示例 here .

关于c++ - 如何编辑 QSqlTableModel 中的特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26481565/

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