我创建了 4 个不同的 QState,我想在每个状态转换中隐藏一个对象。
这是代码:
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
是bool
我在下一步程序中更改的两个。
现在我有一个QGraphicsScene
and 在场景中我添加了一些QGraphicsPixmapItem
.
例如我想更新隐藏项目的场景:
if(presa==true) {object1->hide();}
我知道我必须更改 QState (在这种情况下从inizio_mano
to aspetto_G1_primo
),并且我已经完成了添加转换。
但是我怎样才能隐藏那个 Item ?
如何将 QStateaspetto_G1_primo
与object1 -> hide();
我希望我解释正确。
我的主要问题是:如何为每个 QState 分配不同的场景配置?