#include <QtGui>
int main(int argc, char *argv[])
{
double cx = -190.8327267606721;
double cy = 84.8432984839708;
double r = 208.8408841691493;
double theta = 0.41536317837389986;
double theta2 = 0.4148755982739018;
QPen bluePen
( Qt
::blue );
QRectF circleBox
( cx
- r, cy
- r,
2*r,
2*r
);
item->setRect( circleBox );
item->setPen( bluePen );
l1.translate( cx, cy );
l2.translate( cx, cy );
lineItem1->setLine( l1 );
lineItem2->setLine( l2 );
path.moveTo( l2.p2( ) );
path.arcTo( circleBox, theta2 * 180/M_PI, (theta - theta2) * 180/M_PI );
arcItem->setPen( redPen );
arcItem->setPath( path );
scene.addItem( arcItem );
view.setScene( &scene );
if ( argc > 1 )
{
view.
fitInView( QRectF( l1.
p2( ) - delta, l1.
p2() + delta
) );
}
view.show( );
return app.exec();
}
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QGraphicsScene scene;
double cx = -190.8327267606721;
double cy = 84.8432984839708;
double r = 208.8408841691493;
double theta = 0.41536317837389986;
double theta2 = 0.4148755982739018;
QPen bluePen( Qt::blue );
QPen redPen( Qt::red );
QGraphicsEllipseItem *item = new QGraphicsEllipseItem( 0, &scene );
QRectF circleBox( cx - r, cy - r, 2*r, 2*r );
item->setRect( circleBox );
item->setPen( bluePen );
QLineF l1 = QLineF::fromPolar( r, theta * 180/M_PI );
QLineF l2 = QLineF::fromPolar( r, theta2 * 180/M_PI );
l1.translate( cx, cy );
l2.translate( cx, cy );
QGraphicsLineItem *lineItem1 = new QGraphicsLineItem( 0, &scene );
QGraphicsLineItem *lineItem2 = new QGraphicsLineItem( 0, &scene );
lineItem1->setLine( l1 );
lineItem2->setLine( l2 );
QPainterPath path;
path.moveTo( l2.p2( ) );
path.arcTo( circleBox, theta2 * 180/M_PI, (theta - theta2) * 180/M_PI );
QGraphicsPathItem *arcItem = new QGraphicsPathItem;
arcItem->setPen( redPen );
arcItem->setPath( path );
scene.addItem( arcItem );
QGraphicsView view;
view.setScene( &scene );
if ( argc > 1 )
{
QPointF delta( 0.2, 0.2 );
view.fitInView( QRectF( l1.p2( ) - delta, l1.p2() + delta) );
}
view.show( );
return app.exec();
}
To copy to clipboard, switch view to plain text mode
Bookmarks