diff --git a/button.cpp b/button.cpp index de7f147..2efd9e9 100644 --- a/button.cpp +++ b/button.cpp @@ -20,6 +20,22 @@ void Button::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QW if (type_ == "按钮") { painter->drawRect(0,0,50,50); } + if (!registerId_.isEmpty()) { + painter->save(); + painter->setFont(QFont("Arial", 8)); + painter->setPen(Qt::black); + QString text; + if (registerValue_ > 0) + { + text = QString("%1\nON").arg(registerId()); + } + else + { + text = QString("%1\nOFF").arg(registerId()); + } + painter->drawText(QRectF(13, 13, 26, 26), Qt::AlignCenter, text); + painter->restore(); + } if (option->state & QStyle::State_Selected) { QPen pen(Qt::DashLine); pen.setColor(Qt::blue); diff --git a/light.cpp b/light.cpp index 8677563..6e25aff 100644 --- a/light.cpp +++ b/light.cpp @@ -24,6 +24,14 @@ void Light::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWi if (type_ == "指示灯") { painter->drawEllipse(0,0,50,50); } + if (!registerId_.isEmpty()) { + painter->save(); + painter->setFont(QFont("Arial", 8)); + painter->setPen(Qt::black); + QString text = QString("%1").arg(registerId()); + painter->drawText(QRectF(13, 13, 26, 26), Qt::AlignCenter, text); + painter->restore(); + } if (option->state & QStyle::State_Selected) { QPen pen(Qt::DashLine); pen.setColor(Qt::blue); diff --git a/mainwindow.cpp b/mainwindow.cpp index bf1556e..0068ca2 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -532,6 +532,7 @@ void MainWindow::btnInsertClicked() connect(newItem, &Item::requestBindRegister, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestBindRegister); connect(newItem, &Item::requestCompare, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestCompare); connect(newItem, &Item::requestReset, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestReset); + connect(newItem, &Item::requestSetON,plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestSetON); plcScenes[currentPageIndex()]->addItem(newItem); // 5. 新建两条连线 diff --git a/mainwindow.h b/mainwindow.h index f9da4f1..a9c6065 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -47,14 +47,10 @@ private: RegisterManager* registerManager; ModbusManager* modbusManager; // PLC状态 -// Project plcProject_; -// QString plcFilePath_; QList plcScenes; QList plcViews; // HMI状态 -// Project hmiProject_; -// QString hmiFilePath_; QList hmiScenes; QList hmiViews; diff --git a/mainwindow.ui b/mainwindow.ui index bbbbc52..54dd7dd 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -63,9 +63,9 @@ 0 - 20 + 0 761 - 461 + 481 diff --git a/mygraphicsview.cpp b/mygraphicsview.cpp index e3cef11..3026a4a 100644 --- a/mygraphicsview.cpp +++ b/mygraphicsview.cpp @@ -102,6 +102,7 @@ void MyGraphicsView::keyPressEvent(QKeyEvent *event) connect(newItem, &Item::requestBindRegister, this, &MyGraphicsView::onItemRequestBindRegister); connect(newItem, &Item::requestCompare, this, &MyGraphicsView::onItemRequestCompare); connect(newItem, &Item::requestReset, this, &MyGraphicsView::onItemRequestReset); + connect(newItem, &Item::requestSetON,this, &MyGraphicsView::onItemRequestSetON); scene()->addItem(newItem); } } else { @@ -125,6 +126,7 @@ void MyGraphicsView::contextMenuEvent(QContextMenuEvent *event) connect(newItem, &Item::requestBindRegister, this, &MyGraphicsView::onItemRequestBindRegister); connect(newItem, &Item::requestCompare, this, &MyGraphicsView::onItemRequestCompare); connect(newItem, &Item::requestReset, this, &MyGraphicsView::onItemRequestReset); + connect(newItem, &Item::requestSetON,this, &MyGraphicsView::onItemRequestSetON); scene()->addItem(newItem); } } else { diff --git a/mygraphicsview.h b/mygraphicsview.h index f51b62e..f562c86 100644 --- a/mygraphicsview.h +++ b/mygraphicsview.h @@ -16,7 +16,6 @@ class MyGraphicsView : public QGraphicsView Q_OBJECT public: explicit MyGraphicsView(QWidget *parent = nullptr); -//protected: void dragEnterEvent(QDragEnterEvent *event) override; void dragMoveEvent(QDragMoveEvent *event) override; void dropEvent(QDropEvent *event) override;