#ifndef PIC_DATE_ITEM_H #define PIC_DATE_ITEM_H #include "pictextitem.h" #include #include #include #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