如何在QSqlTableModel中编辑特定的库
How do I edit particular coulmn in QSqlTableModel
本文关键字:编辑 QSqlTableModel 更新时间:2023-10-16
我想显示数据库中的一个表并显示它,但也想根据函数修改特定的列
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
的好例子。
相关文章:
- 在createdialog创建的窗口中捕获用于编辑控件的OnMouseMove消息
- 编辑文件中的文本
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- SetDlgItemInt 不会更改嵌入资源的编辑框
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- C++,Qt:仅在双击后编辑qtablewidget项目
- 编辑字符串以包含括号 c++ 之间的变量
- Arduino函数无法编辑数组
- 调试符号中缺少 QObject 类信息(编辑但存在其他 Qt 类)
- "未定义对'WinMain@16'的引用"gcc 编辑器中的错误
- C++MFC编辑框处理双击
- 是否可以使用指针访问变量以避免直接编辑变量?
- 我的主窗口在创建时或单击更新区域时是否会收到编辑控件?
- 在 c++ 中编辑注册表项
- 无法将行编辑中的文本打印到 Qt C++ 中的标签
- 尝试使用 CMake 和 MinGW64 进行构建时出现多个编辑错误
- 如何从C++而不是虚幻编辑器中添加静态网格体组件的值?
- UE4 - Visual Studio在我从编辑器添加新的c ++文件后无法打开任何源文件 - UBT_COMPILED
- Qt如何将行编辑连接到进度条
- 使用 bash 脚本和测试处理进行代码编辑