
我想在 B 點到 D 點之間畫一條弧線,它應該與 E 點接觸。(我想畫 AND 門符號)
我試過這種方式
QPainterPath path;
path.arcTo(60,30,46,100,30*16,120*16); // ( x,y,width,height, startAngle,spanAngle)
但它正在畫一個完整的圓圈,而不是在適當的位置。
目前它看起來像這樣

得到建議后,我嘗試這樣:
path.moveTo(106, 80);
path.arcTo(76.0, 30.0, 60.0, 100.0, 90.0, -180.0);
如何擺脫那條垂直線(在與門內)?
為什么會出現?
uj5u.com熱心網友回復:
我認為您誤解了arcTo的引數,尤其是邊界矩形。
給定您的影像,您應該將路徑移動到(106, 80)(邊界矩形的中心)
path.moveTo(106, 80);
圓弧的邊界矩形應如下所示:
- ×:76
- 是:30
- 寬度:60
- 身高:100
arc itsel 應該有一個start angleat并且應該在負方向上90°跨越。180°
這導致:
path.arcTo(76.0, 30.0, 60.0, 100.0, 90.0, -180.0);
更新
arcTo
path.moveTo(106, 30);
path.cubicTo(QPointF(156.0, 30.0), QPointF(156.0, 130.0), QPointF(106.0, 130.0));
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/489344.html
標籤:C qt qt5 qt4 qgraphicsview
