#ifndef MATERIALBOX_H #define MATERIALBOX_H #include #include #include #include #include #include #include #include "MaterialBoxGraphicsView.h" #include #include #include "CViewInterface.h" // 枚举定义:料盒的状态 enum BoxStatus { Idle, // 空闲 Occupied, // 已占用 }; // 料盒 class MaterialBox : public QWidget { public: MaterialBox(int flag, QWidget *parent = nullptr); void paintInitFrom(QWidget *parent); QPixmap getGlobalPixmap() const; void initFrom(QWidget *parent); void UpdataVal(std::vector& veMaterial); void UpdataGenerateTestData(); private slots: void handleLayerRightClicked(int layer); protected: void paintEvent(QPaintEvent *event) override; private: // 所有料盒的数据 ns_module::MATERIAL_BOX_STRUCT m_boxes; QPixmap globalPixmap; public: MaterialBoxGraphicsView* m_pView = nullptr; QGraphicsScene* m_pScene = nullptr; }; #endif // MATERIALBOX_H