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 @@
#include "ElaCalendarPickerPrivate.h"
#include <QDate>
#include <QPropertyAnimation>
#include "ElaCalendar.h"
#include "ElaCalendarPicker.h"
#include "ElaCalendarPickerContainer.h"
ElaCalendarPickerPrivate::ElaCalendarPickerPrivate(QObject* parent)
: QObject{parent}
{
}
ElaCalendarPickerPrivate::~ElaCalendarPickerPrivate()
{
}
void ElaCalendarPickerPrivate::onCalendarPickerClicked()
{
Q_Q(ElaCalendarPicker);
QPoint endPoint(q->mapToGlobal(QPoint((q->width() - _calendarPickerContainer->width()) / 2, q->height() + 5)));
QPropertyAnimation* showAnimation = new QPropertyAnimation(_calendarPickerContainer, "pos");
showAnimation->setEasingCurve(QEasingCurve::OutCubic);
showAnimation->setDuration(250);
showAnimation->setStartValue(QPoint(endPoint.x(), endPoint.y() - 10));
showAnimation->setEndValue(endPoint);
_calendarPickerContainer->show();
showAnimation->start(QAbstractAnimation::DeleteWhenStopped);
}
void ElaCalendarPickerPrivate::onCalendarSelectedDateChanged()
{
Q_Q(ElaCalendarPicker);
Q_EMIT q->selectedDateChanged(_calendar->getSelectedDate());
if (_calendarPickerContainer->isVisible())
{
_calendarPickerContainer->hide();
}
}