QSqlQueryModel与QTableView的使用方法

17 篇文章 2 订阅

废话不多说,直接上代码,说明都在代码里。

QSqlQueryModel* model = new QSqlQueryModel(ui.tableView);

///如果是更新操作,记得提前进行删除
model->clear();

const QString st = QString("select * from table);

///这里一定要添加第二个参数database连接,否则tableview不会显示
///数据库连接的初始化和删除,请见https://blog.csdn.net/fghler/article/details/117014867
model->setQuery(st, database);

///根据需要修改表头
model->setHeaderData(0, Qt::Horizontal, "表头1");
model->setHeaderData(1, Qt::Horizontal, "表头2");
model->setHeaderData(2, Qt::Horizontal, "表头3");
model->setHeaderData(3, Qt::Horizontal, "表头4");
model->setHeaderData(4, Qt::Horizontal, "表头5");
model->setHeaderData(5, Qt::Horizontal, "表头6");

ui.tableView->setModel(model);
///列宽适应内容
ui.tableView->resizeColumnsToContents();

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的QTableView是Qt的一个类,用于显示和编辑表格数据。在许多应用程序中,我们需要从数据库中检索数据并在表格中显示。使用委托(Delegate)可以实现对表格中数据的自定义显示和编辑。 在Python中,可以使用PyQt或PySide库来创建和管理QTableView。要使用数据库,我们可以使用SQLite、MySQL或其他流行的数据库管理系统(DBMS),并使用库中提供的相应模块来与数据库进行通信。 首先,我们需要将数据数据检索到一个查询结果(QSqlQueryModel)中。然后,创建一个QTableView来显示查询结果。 使用委托可以实现对特定列的数据进行自定义显示和编辑。委托是一个QItemDelegate的子类,可以重写其中的方法来自定义显示和编辑行为。 例如,如果我们想在表格中的某一列显示一个按钮,可以创建一个自定义委托,并在其paint()方法中绘制一个按钮。然后,将该委托设置给要显示按钮的列。同样地,我们可以在委托的editorEvent()方法中处理按钮的点击事件。 另一个常见的使用委托的例子是在表格中显示和编辑日期。可以创建一个自定义委托,在其setEditorData()方法中将日期值转换为字符串,并在setModelData()方法中将字符串值转换回日期值。 使用委托可以实现更多的自定义显示和编辑行为,比如显示进度条、图像等。根据需求,我们可以创建多个委托,并将其设置给不同的列,以实现不同的效果。 总之,Python的QTableView可以通过使用委托实现对数据数据的自定义显示和编辑。通过重写委托的方法,我们可以实现各种自定义的显示和编辑行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值