Files
VX5_KRO_GearPump/scene/PicDateItem.h
T
2026-04-29 14:10:10 +08:00

43 lines
941 B
C++

#ifndef PIC_DATE_ITEM_H
#define PIC_DATE_ITEM_H
#include "pictextitem.h"
#include <QDateTime>
#include <QTimer>
#include <QHash>
#include "ViewModels.h"
class PicDateItem : public PicTextItem
{
public:
PicDateItem(QGraphicsItem *parent = 0, QGraphicsScene *scene = 0, const SourceType type = SourceType::DATETIME);
virtual ~PicDateItem() {}
virtual QVariant source() override;
virtual void setSource(QVariant var) override;
void setModel(DateItemModel model);
const DateItemModel& model() const;
bool updateDatetimeStr();
protected:
virtual void setCustomAttrs(const QXmlStreamAttributes& attrs) override;
virtual void saveCustomAttrs(QXmlStreamAttributes& attrs) override;
virtual QImage itemImage() override;
private:
QString generateDatetimeStr(const QDateTime& datetime);
QTimer m_timer;
DateItemModel m_model;
QString m_currDateTimeStr;
};
#endif // PIC_DATE_ITEM_H