我正试图向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);
以下是解决此类警告的最简单方法。
进入类"Qt\5.4\Src\qtbase\Src\corelib\statemachine\qstatemachine.cpp",找到方法qstatemachine::addState(QAbstractState*state),并在发出警告的行上放置一个断点。再次运行程序并查看堆栈。它会告诉你发生了什么。
此外,在您的代码片段中,似乎所有的状态最初都是相同的。在创建QState时定义转换和初始状态,看看会发生什么。