#include "drawingPanel.h" #include "diagramCavas.h" #include "mainwindow.h" #include DiagramCavas::DiagramCavas(QWidget *parent) : QMdiArea(parent) { } DiagramCavas::~DiagramCavas() { } void DiagramCavas::initial() { //todo:读取数据并初始化 onSignal_addDrawingPanel(QString("electricElements")); onSignal_addDrawingPanel(QString("baseElements")); } void DiagramCavas::onSignal_addDrawingPanel(const QString& sTitile) { DrawingPanel* pPanel = new DrawingPanel(this); m_mapDrawPanel.insert(sTitile,pPanel); pPanel->setWindowTitle(sTitile); this->addSubWindow(pPanel); } void DiagramCavas::onSignal_addGraphicsItem(GraphicsItemType& type) { QWidget* pWindow= currentSubWindow()->widget(); DrawingPanel* pPanel = dynamic_cast(pWindow); if(pPanel) pPanel->onSignal_addGraphicsItem(type); }