feat: 添加ElaWidgetTool库
This commit is contained in:
39
ElaWidgetTools/DeveloperComponents/ElaPopularCardFloater.h
Normal file
39
ElaWidgetTools/DeveloperComponents/ElaPopularCardFloater.h
Normal 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
|
||||
Reference in New Issue
Block a user