本文整理汇总了C++中ImageItem::setProperty方法的典型用法代码示例。如果您正苦于以下问题:C++ ImageItem::setProperty方法的具体用法?C++ ImageItem::setProperty怎么用?C++ ImageItem::setProperty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ImageItem
的用法示例。
在下文中一共展示了ImageItem::setProperty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onItemChanged
void StitcherWorkspace::onItemChanged(QStandardItem * item) {
if(item->isEnabled() == false) {
return;
}
if(item->flags() & Qt::ItemIsUserCheckable) {
bool value = (item->checkState() == Qt::Checked);
QString property = item->data(Qt::UserRole + 2).toString();
ImageItem * imageItem = item->data(Qt::UserRole + 3).value<ImageItem *>();
imageItem->setProperty(property.toAscii().constData(),value);
loadGeometry();
} else if(item->flags() & Qt::ItemIsEditable) {
qDebug("item changed");
if(!item->data().isValid()) {
item = item->parent();
}
if(!item->data().isValid()) {
qFatal("Can't reach here");
}
QVariant var = item->data();
if(var.type() == QVariant::Double) {
double value = item->text().toDouble();
QString property = item->data(Qt::UserRole + 2).toString();
if(property.endsWith("_theta") || property.endsWith("_alpha")) {
/* convert from degrees */
value /= 180/M_PI;
}
if(property.endsWith("_dy")) {
/* swap axis */
value = -value;
}
ImageItem * imageItem = item->data(Qt::UserRole + 3).value<ImageItem *>();
// item->setText(QString("%0").arg(value));
imageItem->setProperty(property.toAscii().constData(),value);
qDebug("New value for %s = %f",property.toAscii().data(),value);
loadGeometry();
}
}
}