Necesito rotar un rectángulo alrededor de su punto central y mostrarlo en el centro de un QWidget. ¿Puedes completar este código específico? Si es posible, ¿podría simplificar la explicación o proporcionar un enlace a la explicación más simple?Gire el rectángulo alrededor de su centro
Nota: He leído la documentación de Qt, ejemplos/demostraciones compilados que tratan sobre la rotación y ¡TODAVÍA no puedo entenderlo!
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 * Entiendo lo que está sucediendo ahora. El pintor SIEMPRE comienza en 0,0 sin importar qué. ¿Entonces cuando traduces a 100,100 Painter aún comienza en 0,0 pero el nuevo 0,0 ahora es 100,100? –