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,45 @@
#ifndef ELAPOPULARCARDPRIVATE_H
#define ELAPOPULARCARDPRIVATE_H
#include <QObject>
#include <QPixmap>
#include "ElaDef.h"
class ElaPopularCard;
class ElaPopularCardFloater;
class ElaPopularCardPrivate : public QObject
{
Q_OBJECT
Q_D_CREATE(ElaPopularCard)
Q_PROPERTY_CREATE_D(int, BorderRadius)
Q_PROPERTY_CREATE_D(QPixmap, CardPixmap)
Q_PROPERTY_CREATE_D(QString, Title)
Q_PROPERTY_CREATE_D(QString, SubTitle)
Q_PROPERTY_CREATE_D(QString, InteractiveTips)
Q_PROPERTY_CREATE_D(QString, DetailedText)
Q_PROPERTY_CREATE_D(QString, CardButtonText)
Q_PROPERTY_CREATE_D(QWidget*, CardFloatArea)
Q_PROPERTY_CREATE_D(QPixmap, CardFloatPixmap)
Q_PROPERTY_CREATE(qreal, HoverYOffset);
Q_PROPERTY_CREATE(qreal, HoverOpacity);
public:
explicit ElaPopularCardPrivate(QObject* parent = nullptr);
~ElaPopularCardPrivate();
private:
friend class ElaPopularCardFloater;
ElaThemeType::ThemeMode _themeMode;
QTimer* _floatTimer{nullptr};
ElaPopularCardFloater* _floater{nullptr};
bool _isFloating{false};
int _shadowBorderWidth{6};
int _textHSpacing{20};
int _textVSpacing{5};
QRectF _interactiveTipsBaseRect;
QRect _buttonTargetRect;
void _showFloater();
};
#endif // ELAPOPULARCARDPRIVATE_H