Devo ruotare un rettangolo attorno al suo punto centrale e visualizzarlo al centro di un QWidget. Puoi completare questo codice specifico? Se possibile, potresti anche sminuire la spiegazione o fornire un collegamento alla spiegazione più semplice?Ruota il rettangolo attorno al suo centro
Nota: ho letto la documentazione Qt, esempi compilati/demo che trattano della rotazione e I ANCORA non riesco a capirlo!
void Canvas::paintEvent(QPaintEvent *event)
{
QPainter paint(this);
paint.setBrush(Qt::transparent);
paint.setPen(Qt::black);
paint.drawLine(this->width()/2, 0, this->width()/2, this->height());
paint.drawLine(0, this->height()/2, this->width(), this->height()/2);
paint.setBrush(Qt::white);
paint.setPen(Qt::blue);
// Draw a 13x17 rectangle rotated to 45 degrees around its center-point
// in the center of the canvas.
paint.drawRect(QRect(0,0, 13, 17));
}
I * think * Capisco cosa sta succedendo ora. Il pittore SEMPRE parte da 0,0 a prescindere da cosa. Quindi quando traduci a 100.100 Painter inizia ancora a 0,0 ma il nuovo 0,0 ora si trova a 100.100? –