QT编写的一个组件可以实现起始角度和方向设置功能,以下是实现该功能的源代码:
#include <QPainter>
#include <QTimer>
#include <QWidget>
class QAngleWidget : public QWidget
{
Q_OBJECT
public:
QAngleWidget(QWidget *parent = nullptr) : QWidget(parent)
{
m_startAngle = 45;
m_direction = Qt::Clockwise;
QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, &QAngleWidget::updateAngle); // 定时刷新角度
timer->start(1000);
}
void setStartAngle(int startAngle)
{
m_startAngle = startAngle;
update();
}
void setDirection(Qt::FillRule direction)
{
m_direction = direction;
update();
}
protected:
void paintEvent(QPaintEvent *eve