galvanize
9th May 2013, 06:16
Hi,
I try to update QLCDNumber value( which is placed, of course, out of QGraphicScene) in advance function, which is part of one of QGraphicsItem. Program breaks. Whereas if I place it for example in constructor everything is fine, but of course it works only once.
Definition
QLCDNumber *elevatorsCurrentLevelDisplayArray[5];
{
elevatorsCurrentLevelDisplayArray[0]=ui->elevator1;
elevatorsCurrentLevelDisplayArray[1]=ui->elevator2;
elevatorsCurrentLevelDisplayArray[2]=ui->elevator3;
elevatorsCurrentLevelDisplayArray[3]=ui->elevator4;
elevatorsCurrentLevelDisplayArray[4]=ui->elevator5;
}
QLCDNumber **elevatorsCurrentLevelDisplay = elevatorsCurrentLevelDisplayArray;
Here it works
QGraphicsBuilding::QGraphicsBuilding(QLCDNumber **_elevatorsCurrentLevelDisplay)
{
(*mv_elevatorsCurrentLevelDisplay)[0].display(3);
}
Here it breaks.
void QGraphicsBuilding::advance(int step)
{
if (!step)
return;
//for(int i=0; i<m_building->m_numberElevators; i++)
(*mv_elevatorsCurrentLevelDisplay)[0].display(3);
addQGraphicsMen();
m_building->simulation();
updateCoordinates();
updateParents();
}
I try to update QLCDNumber value( which is placed, of course, out of QGraphicScene) in advance function, which is part of one of QGraphicsItem. Program breaks. Whereas if I place it for example in constructor everything is fine, but of course it works only once.
Definition
QLCDNumber *elevatorsCurrentLevelDisplayArray[5];
{
elevatorsCurrentLevelDisplayArray[0]=ui->elevator1;
elevatorsCurrentLevelDisplayArray[1]=ui->elevator2;
elevatorsCurrentLevelDisplayArray[2]=ui->elevator3;
elevatorsCurrentLevelDisplayArray[3]=ui->elevator4;
elevatorsCurrentLevelDisplayArray[4]=ui->elevator5;
}
QLCDNumber **elevatorsCurrentLevelDisplay = elevatorsCurrentLevelDisplayArray;
Here it works
QGraphicsBuilding::QGraphicsBuilding(QLCDNumber **_elevatorsCurrentLevelDisplay)
{
(*mv_elevatorsCurrentLevelDisplay)[0].display(3);
}
Here it breaks.
void QGraphicsBuilding::advance(int step)
{
if (!step)
return;
//for(int i=0; i<m_building->m_numberElevators; i++)
(*mv_elevatorsCurrentLevelDisplay)[0].display(3);
addQGraphicsMen();
m_building->simulation();
updateCoordinates();
updateParents();
}