本文整理汇总了C++中QAbstractItemModel::parent方法的典型用法代码示例。如果您正苦于以下问题:C++ QAbstractItemModel::parent方法的具体用法?C++ QAbstractItemModel::parent怎么用?C++ QAbstractItemModel::parent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QAbstractItemModel
的用法示例。
在下文中一共展示了QAbstractItemModel::parent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setData
/*! \see QAbstractItemModel::setData */
bool SummaryHandlingProxyModel::setData( const QModelIndex& index, const QVariant& value, int role )
{
QAbstractItemModel* model = sourceModel();
if ( role==StartTimeRole || role==EndTimeRole ) {
QModelIndex parentIdx = mapToSource( index );
do {
if ( d->isSummary(parentIdx) ) {
//qDebug() << "removing " << parentIdx << "from cache";
d->removeFromCache( parentIdx );
QModelIndex proxyParentIdx = mapFromSource( parentIdx );
emit dataChanged( proxyParentIdx, proxyParentIdx );
}
} while ( ( parentIdx=model->parent( parentIdx ) ) != QModelIndex() );
}
return BASE::setData( index, value, role );
}
示例2: sourceDataChanged
void SummaryHandlingProxyModel::sourceDataChanged( const QModelIndex& from, const QModelIndex& to )
{
QAbstractItemModel* model = sourceModel();
QModelIndex parentIdx = from;
do {
const QModelIndex& dataIdx = parentIdx;
if ( model->data( dataIdx, ItemTypeRole )==TypeSummary ) {
//qDebug() << "removing " << parentIdx << "from cache";
d->removeFromCache( dataIdx );
QModelIndex proxyDataIdx = mapFromSource( dataIdx );
emit dataChanged( proxyDataIdx, proxyDataIdx );
}
} while ( ( parentIdx=model->parent( parentIdx ) ) != QModelIndex() );
BASE::sourceDataChanged( from, to );
}