当前位置: 首页>>代码示例>>C++>>正文


C++ PropertyItem::setData方法代码示例

本文整理汇总了C++中PropertyItem::setData方法的典型用法代码示例。如果您正苦于以下问题:C++ PropertyItem::setData方法的具体用法?C++ PropertyItem::setData怎么用?C++ PropertyItem::setData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PropertyItem的用法示例。


在下文中一共展示了PropertyItem::setData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: buildPropertyItem

PropertyItem* PropertyItemFromQObject::buildPropertyItem( const QObject *object, QMetaProperty &qmprop, PropertyItem *parent ) {
  PropertyItem * prop = 0;
if(!qmprop.isWritable()&&_skipRO)
        return prop;
  if ( _itemFactory && qmprop.read( object ).isValid()) {
    QString key = qmprop.read( object ).typeName();
    PropertyItemProvider *itemProvider = _itemFactory->get
                                         <PropertyItemProvider>( key );
    if ( itemProvider == 0 )   //on tente de recuperer le provider par defaut
      itemProvider = _itemFactory->get
                     <PropertyItemProvider>( PropertyItemDefaultFactory::K_DEFAULT_KEY );
    if ( itemProvider != 0 )
      prop = itemProvider->fromQVariant( qmprop.name(), qmprop.read( object ), parent );
    }
  //si 0 c'est que la creation depuis la factory a echoue
  if ( prop == 0 ) {
    //on cree par defaut
    prop = new PropertyItem( qmprop.name(), parent );
    prop->setData( qmprop.read( object ) );
    }


prop->setValueHolder( new PropertyItemQPropertyValueHolder(qmprop,const_cast<QObject*>(object)));



  return prop;

  }
开发者ID:MassMessage,项目名称:qpropertygrid,代码行数:29,代码来源:PropertyItemFromQObject.cpp

示例2: setData

bool PropertyModel::setData(const QModelIndex& index, const QVariant & value, int role)
{
    if (!index.isValid())
        return false;

    // we check whether the data has really changed, otherwise we ignore it
    if (role == Qt::EditRole) {
        PropertyItem *item = static_cast<PropertyItem*>(index.internalPointer());
        QVariant data = item->data(index.column(), role);
        if (data.type() == QVariant::Double && value.type() == QVariant::Double) {
            // since we store some properties as floats we get some round-off
            // errors here. Thus, we use an epsilon here.
            double d = data.toDouble();
            double v = value.toDouble();
            if (fabs(d-v) > FLT_EPSILON)
                return item->setData(value);
        }
        else if (data != value)
            return item->setData(value);
    }

    return true;
}
开发者ID:lainegates,项目名称:FreeCAD,代码行数:23,代码来源:PropertyModel.cpp


注:本文中的PropertyItem::setData方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。