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,30 @@
#ifndef ELAPIVOTVIEW_H
#define ELAPIVOTVIEW_H
#include "ElaProperty.h"
#include <QListView>
#include <QModelIndex>
class ElaPivotStyle;
class ElaPivotView : public QListView
{
Q_OBJECT
Q_PROPERTY_CREATE(int, MarkX)
Q_PRIVATE_CREATE(int, MarkWidth)
Q_PROPERTY_CREATE(int, MarkAnimationWidth)
Q_PRIVATE_CREATE(ElaPivotStyle*, PivotStyle)
Q_PRIVATE_CREATE(QModelIndex, CurrentIndex)
Q_PRIVATE_CREATE(QRect, CurrentIndexRect)
Q_PRIVATE_CREATE(bool, IsAnimationFinished)
public:
explicit ElaPivotView(QWidget* parent = nullptr);
~ElaPivotView() override;
void doCurrentIndexChangedAnimation(const QModelIndex& index);
protected:
void mouseDoubleClickEvent(QMouseEvent* event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
virtual void wheelEvent(QWheelEvent* event) override;
virtual void paintEvent(QPaintEvent* event) override;
};
#endif // ELAPIVOTVIEW_H