void SensorWidget::drawChannels() { if(m_pGraphicsScene) { m_pGraphicsScene->clear(); for(qint32 i = 0; i < m_pSensorModel->rowCount(); ++i) { QString dispChName = m_pSensorModel->data(i, 0).toString(); QString fullChName = m_pSensorModel->data(i, 1).toString(); QPointF loc = m_pSensorModel->data(i, 2).toPointF(); qint32 chNum = m_pSensorModel->getNameIdMap()[fullChName]; SensorItem *item = new SensorItem(dispChName, chNum, loc, QSizeF(28, 16)); item->setSelected(m_pSensorModel->data(i, 3).toBool()); item->setPos(loc); connect(item, &SensorItem::itemChanged, m_pSensorModel, &SensorModel::updateChannelState); m_pGraphicsScene->addItem(item); } } }