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,39 @@
#ifndef ELAPOPULARCARDFLOATER_H
#define ELAPOPULARCARDFLOATER_H
#include <QWidget>
#include "ElaDef.h"
class ElaPushButton;
class ElaPopularCard;
class ElaPopularCardPrivate;
class QGraphicsOpacityEffect;
class ElaPopularCardFloater : public QWidget
{
Q_OBJECT
Q_PROPERTY_CREATE(qreal, HoverYOffset);
Q_PROPERTY_CREATE(qreal, HoverOpacity);
public:
explicit ElaPopularCardFloater(ElaPopularCard* card, ElaPopularCardPrivate* cardPrivate, QWidget* parent = nullptr);
~ElaPopularCardFloater();
void showFloater();
void hideFloater();
protected:
virtual bool event(QEvent* event) override;
virtual void paintEvent(QPaintEvent* event) override;
private:
friend class ElaPopularCard;
ElaThemeType::ThemeMode _themeMode;
ElaPushButton* _overButton{nullptr};
QGraphicsOpacityEffect* _opacityEffect{nullptr};
bool _isHideAnimationFinished{true};
ElaPopularCard* _card{nullptr};
ElaPopularCardPrivate* _cardPrivate{nullptr};
QRect _calculateTargetGeometry(QRect cardGeometry);
int _floatGeometryOffset{25};
};
#endif // ELAPOPULARCARDFLOATER_H