@@ -20,6 +20,22 @@ void Button::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QW | |||||
if (type_ == "按钮") { | if (type_ == "按钮") { | ||||
painter->drawRect(0,0,50,50); | 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) { | if (option->state & QStyle::State_Selected) { | ||||
QPen pen(Qt::DashLine); | QPen pen(Qt::DashLine); | ||||
pen.setColor(Qt::blue); | pen.setColor(Qt::blue); | ||||
@@ -24,6 +24,14 @@ void Light::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWi | |||||
if (type_ == "指示灯") { | if (type_ == "指示灯") { | ||||
painter->drawEllipse(0,0,50,50); | 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) { | if (option->state & QStyle::State_Selected) { | ||||
QPen pen(Qt::DashLine); | QPen pen(Qt::DashLine); | ||||
pen.setColor(Qt::blue); | pen.setColor(Qt::blue); | ||||
@@ -532,6 +532,7 @@ void MainWindow::btnInsertClicked() | |||||
connect(newItem, &Item::requestBindRegister, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestBindRegister); | connect(newItem, &Item::requestBindRegister, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestBindRegister); | ||||
connect(newItem, &Item::requestCompare, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestCompare); | connect(newItem, &Item::requestCompare, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestCompare); | ||||
connect(newItem, &Item::requestReset, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestReset); | connect(newItem, &Item::requestReset, plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestReset); | ||||
connect(newItem, &Item::requestSetON,plcViews[currentPageIndex()], &MyGraphicsView::onItemRequestSetON); | |||||
plcScenes[currentPageIndex()]->addItem(newItem); | plcScenes[currentPageIndex()]->addItem(newItem); | ||||
// 5. 新建两条连线 | // 5. 新建两条连线 | ||||
@@ -47,14 +47,10 @@ private: | |||||
RegisterManager* registerManager; | RegisterManager* registerManager; | ||||
ModbusManager* modbusManager; | ModbusManager* modbusManager; | ||||
// PLC状态 | // PLC状态 | ||||
// Project plcProject_; | |||||
// QString plcFilePath_; | |||||
QList<QGraphicsScene*> plcScenes; | QList<QGraphicsScene*> plcScenes; | ||||
QList<MyGraphicsView*> plcViews; | QList<MyGraphicsView*> plcViews; | ||||
// HMI状态 | // HMI状态 | ||||
// Project hmiProject_; | |||||
// QString hmiFilePath_; | |||||
QList<QGraphicsScene*> hmiScenes; | QList<QGraphicsScene*> hmiScenes; | ||||
QList<MyGraphicsView*> hmiViews; | QList<MyGraphicsView*> hmiViews; | ||||
@@ -63,9 +63,9 @@ | |||||
<property name="geometry"> | <property name="geometry"> | ||||
<rect> | <rect> | ||||
<x>0</x> | <x>0</x> | ||||
<y>20</y> | |||||
<y>0</y> | |||||
<width>761</width> | <width>761</width> | ||||
<height>461</height> | |||||
<height>481</height> | |||||
</rect> | </rect> | ||||
</property> | </property> | ||||
<property name="currentIndex"> | <property name="currentIndex"> | ||||
@@ -102,6 +102,7 @@ void MyGraphicsView::keyPressEvent(QKeyEvent *event) | |||||
connect(newItem, &Item::requestBindRegister, this, &MyGraphicsView::onItemRequestBindRegister); | connect(newItem, &Item::requestBindRegister, this, &MyGraphicsView::onItemRequestBindRegister); | ||||
connect(newItem, &Item::requestCompare, this, &MyGraphicsView::onItemRequestCompare); | connect(newItem, &Item::requestCompare, this, &MyGraphicsView::onItemRequestCompare); | ||||
connect(newItem, &Item::requestReset, this, &MyGraphicsView::onItemRequestReset); | connect(newItem, &Item::requestReset, this, &MyGraphicsView::onItemRequestReset); | ||||
connect(newItem, &Item::requestSetON,this, &MyGraphicsView::onItemRequestSetON); | |||||
scene()->addItem(newItem); | scene()->addItem(newItem); | ||||
} | } | ||||
} else { | } else { | ||||
@@ -125,6 +126,7 @@ void MyGraphicsView::contextMenuEvent(QContextMenuEvent *event) | |||||
connect(newItem, &Item::requestBindRegister, this, &MyGraphicsView::onItemRequestBindRegister); | connect(newItem, &Item::requestBindRegister, this, &MyGraphicsView::onItemRequestBindRegister); | ||||
connect(newItem, &Item::requestCompare, this, &MyGraphicsView::onItemRequestCompare); | connect(newItem, &Item::requestCompare, this, &MyGraphicsView::onItemRequestCompare); | ||||
connect(newItem, &Item::requestReset, this, &MyGraphicsView::onItemRequestReset); | connect(newItem, &Item::requestReset, this, &MyGraphicsView::onItemRequestReset); | ||||
connect(newItem, &Item::requestSetON,this, &MyGraphicsView::onItemRequestSetON); | |||||
scene()->addItem(newItem); | scene()->addItem(newItem); | ||||
} | } | ||||
} else { | } else { | ||||
@@ -16,7 +16,6 @@ class MyGraphicsView : public QGraphicsView | |||||
Q_OBJECT | Q_OBJECT | ||||
public: | public: | ||||
explicit MyGraphicsView(QWidget *parent = nullptr); | explicit MyGraphicsView(QWidget *parent = nullptr); | ||||
//protected: | |||||
void dragEnterEvent(QDragEnterEvent *event) override; | void dragEnterEvent(QDragEnterEvent *event) override; | ||||
void dragMoveEvent(QDragMoveEvent *event) override; | void dragMoveEvent(QDragMoveEvent *event) override; | ||||
void dropEvent(QDropEvent *event) override; | void dropEvent(QDropEvent *event) override; | ||||