#pragma once #include "iGridRowItemUnt.h" // Img class X_GUI_GRIDPTY_EXPORT iGridRowItemImg : \ public iGridRowItemUnt { Q_OBJECT public: explicit iGridRowItemImg(iGridRowItem* pParent = NULL); ~iGridRowItemImg(); // 初始化 virtual void setDlgBase(QWidget* p); virtual void setParameter(iParameter* p); virtual void initEditor(); virtual void configEditor(); virtual QString getEditorCss(bool bValid); // Image处理 bool dealwithImg(QVariant& o); bool parseFromFile(QString s, QImage& img, QByteArray& ba); // 数据范围 QString getParaScales(); // 该基类默认按double进行实现 virtual bool setCurValue(QVariant o);//现值 virtual QVariant getCurValue(); // 范围 virtual void setBounds(QRectF& rt); virtual QRectF getRightBounds_Main();//右 virtual QRectF getRightBounds_Unt(); // 双击 virtual void onItemDoubleCliked(GridTickPos o); protected: // 绘图 virtual void paint(QPainter* pPainter); virtual void _paintItemValue(QPainter* pPainter); // ByteArray Image static bool imgToBa(QImage& img, QByteArray& ba); static bool baToImg(QImage& img, QByteArray& ba); public slots: void slotImgBrowse(); protected: // 借助QLabel显示图片 //m_oRawValue为QByteArray QImage m_oImg; //其实只是为了方便 QPushButton* m_pBtn; };