Qt提供了QSqlTableModel来将数据库以表格的形式显示在界面上。
示例代码:
//初始化
QSqlTableModel *model;
QTableView *view;
ColorDelegate colorDelegate;
model = new QSqlTableModel(this);
model->setTable("tableName");
view = new QTableView;
view->setModel(model);
view->setItemDelegateForColumn(3,&colorDelegate);//设置代理,弹出控件,比如颜色对话框
view->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
model->select();
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
//添加记录
QSqlRecord record = model->record();
int row = model->rowCount();
model->insertRecord(row,record);
//删除记录
QItemSelectionModel *selectModel = view->selectionModel();
QModelIndexList list = selectModel->selectedRows();
for(int i=0;i<list.size();i++){
model->removeRow(list.at(i).row());
}
//确定更改
model->submitAll();
//取消更改
model->revertAll();
model->submitAll();
//查询过滤
QString sql = "address = 'shanghai'";

本文介绍了如何在Qt中通过QSqlTableModel展示数据库数据,并展示了如何为特定列设置自定义代理,如颜色和日期选择对话框。重点讲解了继承QItemDelegate创建并定制编辑器的过程。
最低0.47元/天 解锁文章

1193

被折叠的 条评论
为什么被折叠?



