New rotatable label widget

This commit is contained in:
Nav
2021-08-22 20:41:52 +01:00
parent bbe0051205
commit c3f082cd7d
3 changed files with 101 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
#pragma once
#include <QLabel>
#include <QSize>
namespace Bloom::Widgets
{
class RotatableLabel: public QLabel
{
Q_OBJECT
private:
int angle = 90;
[[nodiscard]] QSize getContainerSize() const;
protected:
void paintEvent(QPaintEvent* event) override;
[[nodiscard]] QSize sizeHint() const override {
return this->getContainerSize();
};
[[nodiscard]] QSize minimumSizeHint() const override {
return this->getContainerSize();
};
public:
RotatableLabel(const QString& text, QWidget* parent): QLabel(text, parent) {};
RotatableLabel(int angleDegrees, const QString& text, QWidget* parent): QLabel(text, parent) {
this->setAngle(angleDegrees);
};
void setAngle(int angleDegrees) {
this->angle = angleDegrees;
}
};
}