警告:状态已添加到QState

时间:2016-04-20 11:35:17

标签: c++ qt qt5

我正在尝试向QStateMachine添加状态,并发出警告

  

[20.04 13:31:02 W] QStateMachine :: addState:状态已添加到此机器

但是,我之前没有添加状态,这是第一次。 这是我的代码:

idle = new QState();
start_z = new QState();
lock = new QState(); 

m_machine->addState(idle);
m_machine->addState(start_z);
m_machine->addState(lock);

1 个答案:

答案 0 :(得分:1)

以下是解决此类问题的最简单方法。

进入类" Qt \ 5.4 \ Src \ qtbase \ src \ corelib \ statemachine \ qstatemachine.cpp",找到方法QStateMachine :: addState(QAbstractState * state)并在其上放置一个断点它给出警告的行。再次运行程序并查看堆栈。它会告诉你发生了什么。

此外,似乎所有状态在您的代码段中最初都是相同的。在创建QState时定义转换和初始状态,看看会发生什么。