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