feat: 添加ElaWidgetTool库

This commit is contained in:
sleepwithoutbz
2025-09-19 22:40:52 +08:00
parent 5f93e8caf6
commit 4eef5c7fd5
407 changed files with 36325 additions and 7 deletions

View File

@@ -0,0 +1,35 @@
#ifndef ELASCROLLBAR_H
#define ELASCROLLBAR_H
#include <QAbstractScrollArea>
#include <QScrollBar>
#include "ElaProperty.h"
class ElaScrollBarPrivate;
class ELA_EXPORT ElaScrollBar : public QScrollBar
{
Q_OBJECT
Q_Q_CREATE(ElaScrollBar)
Q_PROPERTY_CREATE_Q_H(bool, IsAnimation)
Q_PROPERTY_CREATE_Q_H(qreal, SpeedLimit)
public:
explicit ElaScrollBar(QWidget* parent = nullptr);
explicit ElaScrollBar(Qt::Orientation orientation, QWidget* parent = nullptr);
explicit ElaScrollBar(QScrollBar* originScrollBar, QAbstractScrollArea* parent = nullptr);
~ElaScrollBar() override;
Q_SIGNALS:
Q_SIGNAL void rangeAnimationFinished();
protected:
virtual bool event(QEvent* event) override;
virtual bool eventFilter(QObject* watched, QEvent* event) override;
virtual void mousePressEvent(QMouseEvent* event) override;
virtual void mouseReleaseEvent(QMouseEvent* event) override;
virtual void mouseMoveEvent(QMouseEvent* event) override;
virtual void wheelEvent(QWheelEvent* event) override;
virtual void contextMenuEvent(QContextMenuEvent* event) override;
};
#endif // ELASCROLLBAR_H