2016-03-21 18 views
0

Qt'deki bir satırın sonunda bir ok/işaretçi çizmek için yerleşik bir yöntem var mı?Qt 5.5 resim çizme

Kendimi çizebileceğimi biliyorum, ancak bunu zaten yapmanın bir yolu olup olmadığını merak ediyorum, çevrimiçi arama yapıyorum ve hiçbir şey bulamadım.

Çizgiyi döndürmek istiyorum ve ok onunla birlikte döner. Aşağıda

Üzerinde çalıştığım resimdir:

enter image description here

ben kesik satırın sonundaki oka çekmek istiyorum, tire çizgisi alttan etrafında bakacak şekilde dönmelidir ayrıldı.

ben bir çokgen kullanılan ve döndürülmüş Sonunda [değiştir]:

Polygon clsMyClass::plygnGetNeedle(QPoint* pptOrigin 
             ,int intRadius 
             ,float fltAngle) { 
     const int cintNeedleHalfWidth = 4; 

     QPolygon plyNeedle; 
     int intX = pptOrigin->x(), intY = pptOrigin->y(); 
     plyNeedle << QPoint(intX - cintNeedleHalfWidth, intY) 
        << QPoint(intX, intY + cintNeedleHalfWidth) 
        << QPoint(intX + intRadius - cintNeedleHalfWidth, intY) 
        << QPoint(intX, intY- cintNeedleHalfWidth); 
     return QTransform().translate(intX, intY) 
          .rotate(fltAngle) 
          .translate(-intX, -intY) 
          .map(plyNeedle); 
    } 
+1

"İnternette arama yaptım ve hiçbir şey bulamadım." Bu gerçekten güzel özellikleri gizli tuttukları için;) – dtech

cevap

1

Ben Qt böyle bir şey hatırlamıyorum: poligon iğne eklemek için

enter image description here

Kod . Okun konumu ve açısı gelince, QPainterPathangleAtPercent() ve pointAtPercent() gibi işlevler kullanıyorsanız bunları kolayca bulabilirsiniz.

+0

Teşekkür ederim, QPolygon – SPlatten

+0

ile oku çizerek, atm, okuyacağım Şimdi QPolygon ve QPainterPath kullanarak oku çizdim, şimdi kolayca bir çizgiye çokgen ekleyebiliyorum Tüm noktaları çalışmak ve daha sonra satır ile döndürmek için? – SPlatten

+1

@SPlatten - sadece ressamın kendisini dönüştürebilirsiniz, sadece çizgi ve oku döndürmek yerine ressamı – dtech