我在一个.cpp(即ExerciseControl.cpp)中有一个工具按钮。当按钮被点击时,它会触发另一个.cpp(即StatusBar.cpp)中的两个定时器。
但是,以下代码不起作用。当我单击ExerciseControl.cpp 中的按钮触发startExercise() 时,计时器不会启动。
ExerciseControl.cpp:
ExerciseControl::ExerciseControl(void)
{
myStatusBar = new StatusBar;
}
void ExerciseControl::startExercise()
{
myStatusBar ->simulationTimer->start(1000);
myStatusBar ->elapsedTimer->start(1000);
}
StatusBar.cpp:
StatusBar::StatusBar()
{
simulationTimer = new QTimer;
QObject::connect(simulationTimer, SIGNAL(timeout()), this, SLOT(tickSimulation()));
elapsedTimer = new QTimer;
QObject::connect(elapsedTimer, SIGNAL(timeout()), this, SLOT(tickSimulation()));
createButtons();
};
void StatusBar::createButtons()
{
...
}
void StatusBar::tickSimulation()
{
...
}
但是,如果我在构造函数中声明以下内容,则计时器可以自动启动,这不是我想要的。
StatusBar::StatusBar()
{
simulationTimer = new QTimer;
simulationTimer->start(1000);
QObject::connect(simulationTimer, SIGNAL(timeout()), this, SLOT(tickSimulation()));
elapsedTimer = new QTimer;
elapsedTimer->start(1000);
QObject::connect(elapsedTimer, SIGNAL(timeout()), this, SLOT(tickSimulation()));
}
我需要通过ExerciseControl.cpp 中的按钮触发计时器。
请帮忙。
谢谢。