qtableview获取行数_Qt C从QTableView中获取所选行的每个单元格中的数据

在Qt中,可以使用QAbstractItemModel的data()函数结合QModelIndex获取QTableView中的数据。如果数据存储在容器如std::vector<std::vector<>>中,需要在data()和setData()中处理映射。另外,可以通过QModelIndex的internalPointer()得到指向每个数据的指针,再用static_cast转换为自定义类指针,以便操作数据。
摘要由CSDN通过智能技术生成

QVariant data(const QModelIndex& index,int role) const

用于返回数据.如果您需要根据QModelIndex行和列在此处获取数据并从某个容器中检索它,也许

std::vector<:vector> > data;

您必须定义此类映射并在data()和setData()函数中使用它来处理与底层模型数据的交互.

或者,QAbstractItemModel和QTreeView提供了将类(即TreeItem)分配给每个QModelIndex的方法,因此您可以使用从QModelIndex.internalPointer()函数返回的指针的static_cast来检索指向每个数据的指针:

TreeItem *item = static_cast(index.internalPointer());

那么你可以创建一些映射:

// sets the role data for the item at to and updates

// affected TreeItems and ModuleInfo. returns true if successful

// otherwise returns false

bool ModuleEnablerDialogTreeModel::setData(const QModelIndex & index,const QVariant & value,int role) {

if (role

== Qt::CheckStateRole&& index.column()==ModuleEnablerDialog_CheckBoxColumn) {

TreeItem *item = static_cast(index.internal

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值