Как повернуть QPixmap без изменения размера Я использую этот код, но когда я поворачиваю изображение, он меняет размер изображения.
Заголовочный файл
#ifndef CUSTOMDIAL_H
#define CUSTOMDIAL_H
#include <QDial>
class CustomDial : public QDial
{
Q_OBJECT
public:
CustomDial(QWidget * parent = nullptr);
private:
virtual void paintEvent(QPaintEvent*) override;
};
#endif
файл CPP
#include "Customdial.h"
#include <QGraphicsPixmapItem>
#include <QPainter>
#include <QColor>
#include <QPixmap>
CustomDial::CustomDial(QWidget* parent)
: QDial(parent)
{
// Default range
QDial::setRange(0,100);
}
void CustomDial::paintEvent(QPaintEvent*)
{
int a = QDial::sliderPosition();
QPainter painter(this);
//load pixmap
QPixmap pix(":/img/img/knob.png");
//rotate pixmap
QMatrix rm;
rm.rotate(a);
pix = pix.transformed(rm);
//draw pixmap
painter.drawPixmap(QPointF(0,0),
pix.scaled(QDial::height(),
QDial::height(),
Qt::KeepAspectRatio),
pix.rect().adjusted(1, 1, -1000, -1000) );
}
Как повернуть QPixmap без изменения размера Я использую этот код, но когда я поворачиваю изображение, он меняет размер изображения в заголовочном файле.