123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #pragma once
- #include "Common.h"
- #include "CommonDraw.h"
- /// <summary>
- /// Pou的组件容器子界面
- /// </summary>
- class WindowAppPouScene;
- class POU;
- class WindowAppPouView : public QGraphicsView
- {
- Q_OBJECT
- public:
- explicit WindowAppPouView(QWidget* parent = nullptr);
- // 初始化
- void initView(const QString& strGroup, QWidget* pParent);
- // 获取 Scene
- WindowAppPouScene* getScene()
- {
- return m_pPouScene;
- }
- //// 直接添加Tool功能块(from序列化文件)
- //void addToolDirectly(TOOL* newTool, QPointF pos);
- //// 在界面中添加新的Link(from序列化文件)
- //void addLinkDirectly(const QString& strStartInf, const QString& strEndInf, LINK_MODE linkMode);
- protected slots:
- // 在拖拽事件中获取拖动进来的工具信息
- void dropEvent(QDropEvent* event) override;
- // 拖拽动作处理
- void dragMoveEvent(QDragMoveEvent* event) override;
- // 绘制界面背景
- void drawBackground(QPainter* painter, const QRectF& rect) override;
- // 自动缩放
- void resizeEvent(QResizeEvent* resizeEvent) override;
- // 缩放时同步调整缩略图
- void slotZoom(int);
- signals:
- // 用于和缩略图同步的信号
- void navigatorViewRequired(bool required, QTransform transform);
- //// 缩略图当前矩形区域变动时的同步信号
- void viewportRectChanged();
- private:
- // 初始化方格背景
- void initBkImage();
- // 初始化与缩放相关的操作
- void initZoom();
- private:
- // 绘图的场景类
- WindowAppPouScene* m_pPouScene;
- // 黑白方格背景图
- QPixmap* m_pBkImage;
- protected:
- // 当前的缩放比例
- qreal m_fZoom;
- // 缩放比例显示的
- QLabel* m_pZooomLabel;
- };
|