void widgetLandmark::NewRegion() { ui->add_button->setChecked(false); // show ellipse and text in graphics view QPen pen = QPen(Qt::darkGreen,2); pen.setCosmetic(true); QRectF rect = _gview->GetCurrentSelectRect()->rect(); QGraphicsEllipseItem* ellipse = _gview->GetScene()->addEllipse(rect,pen); ellipse->setTransform(QTransform::fromTranslate(_gview->GetTranslationX(),_gview->GetTranslationY()), true); // create region jpsRegion* region = new jpsRegion(_dmanager->GetRegionCounter(),"Region"+QString::number(_dmanager->GetRegionCounter()), rect.center(),std::fabs(rect.width()/2.0),std::fabs(rect.height()/2.0)); QGraphicsTextItem* text = _gview->GetScene()->addText(region->GetCaption()); text->setPos(rect.center().x()+_gview->GetTranslationX(),rect.center().y()+_gview->GetTranslationY()); //text->setScale(gl_scale_f); text->setData(0,_gview->GetScaleF()); text->setTransform(QTransform::fromScale(_gview->GetScaleF(),-_gview->GetScaleF()),true); region->SetTextItem(text); region->SetEllipse(ellipse); _dmanager->NewRegion(region); //show Region in listwidget ShowRegions(); }
void widgetLandmark::SetPosInCMap() { jpsLandmark* landmark = GetCurrentLandmark(); if (landmark!=nullptr) { landmark->SetRect(_gview->GetCurrentSelectRect()->rect()); QString string = "Ellipse: x: "+QString::number(landmark->GetRect().center().x()) + " y: "+QString::number(landmark->GetRect().center().y())+" rA: "+QString::number(landmark->GetA()) + " rB: "+QString::number(landmark->GetB()); ui->ellipse_label->setText(string); ui->add_button->setChecked(false); // show ellipse and text in graphics view QPen pen = QPen(Qt::blue,2); pen.setCosmetic(true); QGraphicsEllipseItem* ellipse = _gview->GetScene()->addEllipse(landmark->GetRect(),pen); ellipse->setTransform(QTransform::fromTranslate(_gview->GetTranslationX(),_gview->GetTranslationY()), true); QGraphicsTextItem* text = _gview->GetScene()->addText(landmark->GetCaption()); text->setPos(landmark->GetPos().x()+_gview->GetTranslationX(),landmark->GetPos().y()+_gview->GetTranslationY()); //text->setScale(gl_scale_f); text->setData(0,_gview->GetScaleF()); text->setTransform(QTransform::fromScale(_gview->GetScaleF(),-_gview->GetScaleF()),true); landmark->SetEllipseItem(ellipse); landmark->SetTextItem(text); } }
void ChartsView::drawText(QString text, qint16 x, qint16 y, QString style) { QGraphicsTextItem *textItem = new QGraphicsTextItem(text); textItem->setPos(x,y); textItem->setTransform(QTransform::fromScale(1,-1)); if(style.size())textItem->setHtml("<span style='"+style+"'>"+text+"</span>"); sceneCharts->addItem(textItem); }
void PSV_CircularIndicatorItem::drawMark(int zValue) { double colorCircleRadius = m_colorCircleRadiusRatio * m_outerRadius; double value= m_min; double dValue = (m_max - m_min) / m_numTicks; QString strValue; for(int i=0;i<=m_numTicks;i++) { QPointF topPot; QPointF bottomPot; if(i%10==0) { strValue=QObject::tr("%1").arg(value); bottomPot = QPointF(m_rect.center().x(), m_rect.center().y() - colorCircleRadius); topPot = QPointF(m_rect.center().x(), m_rect.center().y() - colorCircleRadius*1.05); value+=10 * dValue; QGraphicsTextItem* item = new QGraphicsTextItem(strValue, this); item->setDefaultTextColor(QColor(Qt::white)); item->setFont(m_markFont); item->setZValue(zValue); QRectF rectF = item->boundingRect(); QPointF movePointF = QPointF(m_rect.center().x() - 0.5 * rectF.width() , m_rect.center().y() - colorCircleRadius*1.05 - rectF.height()); item->moveBy(movePointF.x(), movePointF.y()); item->setTransform(QTransform().translate(m_rect.center().x() - movePointF.x(), m_rect.center().y() - movePointF.y()).rotate(270 * i / 100-135).translate(-(m_rect.center().x() - movePointF.x()), -(m_rect.center().y() - movePointF.y()))); } else if(i%5==0) { bottomPot = QPointF(m_rect.center().x(), m_rect.center().y() - colorCircleRadius); topPot = QPointF(m_rect.center().x(), m_rect.center().y() - colorCircleRadius*1.03); } else { bottomPot = QPointF(m_rect.center().x(), m_rect.center().y() - colorCircleRadius); topPot = QPointF(m_rect.center().x(), m_rect.center().y() - colorCircleRadius*1.01); } QGraphicsLineItem* item = new QGraphicsLineItem(QLineF(topPot, bottomPot), this); item->setPen(QPen(Qt::white)); item->setZValue(zValue); item->setTransform(QTransform().translate(m_rect.center().x(), m_rect.center().y()).rotate(270.0 * i / 100-135).translate(-m_rect.center().x(), -m_rect.center().y())); } }