i've created 4 different qstate , want hide 1 object in evry state transition.
this code:
qstatemachine partita; qstate *inizio_mano = new qstate(); qstate *aspetto_g1_primo = new qstate(); qstate *aspetto_g1_secondo = new qstate(); qfinalstate *fine_mano = new qfinalstate(); partita.setinitialstate(inizio_mano); inizio_mano -> addtransition(this,presa==true,aspetto_g1_primo); inizio_mano -> addtransition(this,presa==false,aspetto_g1_secondo); aspetto_g1_primo -> addtransition(this,stato==true,fine_mano); aspetto_g1_secondo -> addtransition(this,stato==true,fine_mano);
presa
, stato
2 bool
change in next step of program.
now have qgraphicsscene
, in scene i've added in qgraphicspixmapitem
.
for example want update scene hiding item:
if(presa==true) {object1->hide();}
i understand have change qstate (in case inizio_mano
aspetto_g1_primo
), , i've done adding transition.
but how can hide item ?
how can connect qstate aspetto_g1_primo
object1 -> hide();
i hope explained correctly.
my main problem is: how assign each qstate different configuration of scene ?
you have properties of qwidget
here: http://doc.qt.io/qt-5/qwidget.html#properties
each child class have own additional properties, in doc.
so can :
aspetto_g1_primo->assignproperty(object1, "visible", false);
then when entering state property "visible" of object1
set false
.
you can same edit any other property depending on state, such geometry, stylesheet, or text of labels...