Files
VX5_KRO_GearPump/scene/PicDateItem.h
T

44 lines
979 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() {}
void setModel(DateItemModel model);
const DateItemModel& model() const;
bool updateDatetimeStr();
virtual QRectF boundingRect() const override;
protected:
virtual void setCustomAttrs(const QXmlStreamAttributes& attrs) override;
virtual void saveCustomAttrs(QXmlStreamAttributes& attrs) override;
virtual QImage itemImage() override;
virtual void letterSpaceChanged() override;
private:
QTimer m_timer;
DateItemModel m_model;
QString m_currDateTimeStr;
QString m_maxDateTimeStr;
QSize m_maxSize; // 缓存最长字符串的像素宽高
};
#endif // PIC_DATE_ITEM_H