Qt使用QSqlTableModel图形化显示数据库

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

        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'";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值