이 그림과 같이 삼각형 모양과 마름모 모양을 그려야합니다. 삼각형 모양을 디자인하는이 코드에서 (그림 1)이 글자를 "TRI"에 추가해야합니다. . 또한 마름모 모양을 디자인하려면이 코드를 구현해야합니다 (그림 2). 이 문제를 해결하도록 도와주세요.QT를 사용하여 삼각형과 마름모 모양을 그리는 방법
그림 1
void MainWindow::on_btnTri_clicked()
{
QPen redPen(Qt::black);
redPen.setWidth(2);
QRectF rect = QRectF(0, 0, 200, 200);
QPainterPath path;
path.moveTo(rect.left() + (rect.width()/2), rect.top());
path.lineTo(rect.bottomLeft());
path.lineTo(rect.bottomRight());
path.lineTo(rect.left() + (rect.width()/2), rect.top());
QGraphicsPathItem* item = ui->graphicsView->scene()->addPath(path, redPen);
item->setFlag(QGraphicsItem::ItemIsMovable, true);
item->setFlag(QGraphicsItem::ItemIsSelectable,true);
}
그림 2 나는 그림 2 그러나이 크기를 변경하는 매개 변수를 전달할 수 없습니다, 내 그림 1 설계 코드 I를 설계하는이 코드를 사용 두 개의 매개 변수를 QRectF(0, 0, para1, para2);
에 전달할 수 있습니다.이 코드는 변경 삼각형의 크기와 같습니다. 따라서 동일한 코드를 변경하여 QPainterPath
또는 다른 방법으로 사용해야합니다. 그것은 QFontMetrics
을 사용하기위한
void MainWindow::on_btnRomb_clicked()
{
QPolygonF romb;
romb.append(QPointF(20,40));
romb.append(QPointF(0,20));
romb.append(QPointF(20,0));
romb.append(QPointF(40, 20));
QGraphicsPolygonItem* itemR = ui->graphicsView->scene()->addPolygon(romb);
itemR->setFlag(QGraphicsItem::ItemIsMovable);
}
감사 Mr.qt을, – Learner
선생님이 말씀 해주십시오 수) 어떻게 짱 그림 2와 같은이 마름모 모양, 이제 그것은 등각 마름모로 생성됩니다. 어떻게 그림 2 모양으로 바꿀 수 있습니까? – Learner
'QRectF rect (0, 0, 100, 100);을'QRectF rect (0, 0, 100, 50);으로 바꾼다 – eyllanesc