It looks like your simulation
object destroyed before the slot is called, because you allocated it in the stack:
simu simulation; // Will be destroyed as the execution leave the scope.
QObject::connect(btn1, SIGNAL(clicked()), &simulation, SLOT(startSimu()));
To fix this you will need probably do the following:
simu *simulation = new simu; // Will be destroyed soon
QObject::connect(btn1, SIGNAL(clicked()), simulation, SLOT(startSimu()));
Please do not forget to delete the simulation
object when needed.