123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifndef MATERIALBOX_H
- #define MATERIALBOX_H
- #include <QApplication>
- #include <QWidget>
- #include <QPainter>
- #include <QMouseEvent>
- #include <vector>
- #include <QString>
- #include <QDebug>
- #include "MaterialBoxGraphicsView.h"
- #include <QFrame>
- #include <dt.h>
- // 枚举定义:料盒的状态
- enum BoxStatus {
- Idle, // 空闲
- Occupied, // 已占用
- };
- typedef struct
- {
- int iCurrLayers; //当前工作层
- int iLayersTotal; //总层数
- int iTopLev; //最上层高度
- int iBottomLev; //最下层高度
- XY_DOUBLE_STRUCT stPos; //料盒位置;
- int iStatas[32]; //每层状态,0表示空,1表示有料。
- int iLength; //料盒长度
- int iLeight; //料盒高度
- int iWall; //侧壁厚
- int iTopWall; //上壁厚
- int iBelowWall; //下壁厚
- }MATERIAL_BOX_STRUCT;
- // 自定义绘制窗口类
- class MaterialBox : public QWidget {
- public:
- MaterialBox(int flag, QWidget *parent = nullptr);
- void paintInitFrom(QWidget *parent);
- QPixmap getGlobalPixmap() const;
- void initFrom(QWidget *parent);
- MaterialBoxGraphicsView* view;
- QGraphicsScene* scene;
- private slots:
- void handleLayerRightClicked(int layer);
- protected:
- void paintEvent(QPaintEvent *event) override;
- private:
- MATERIAL_BOX_STRUCT boxes; // 所有料盒的数据
- QPixmap globalPixmap;
- };
- #endif // MATERIALBOX_H
|