我有两个类,A和B. ClassA调用classB中的一个方法,它通过一个大循环进行迭代。 ClassA还打印到Qt消息框。我想要的是能够从classA打印%完整的消息框。有没有办法在C++中做到这一点?将消息传递给C++调用者
ClassA calls ClassB.method();
ClassA <-- 10% -- ClassB.method();
ClassA -- 10% --> MessageBox
我有两个类,A和B. ClassA调用classB中的一个方法,它通过一个大循环进行迭代。 ClassA还打印到Qt消息框。我想要的是能够从classA打印%完整的消息框。有没有办法在C++中做到这一点?将消息传递给C++调用者
ClassA calls ClassB.method();
ClassA <-- 10% -- ClassB.method();
ClassA -- 10% --> MessageBox
由于您使用的是Qt,因此在进度更改时会在B
中发出信号。将该信号连接到A
中更新进度显示的插槽。这就是你需要的。
//在您的循环上方
int IterationsToDo =#; int IterationsDone = 0;
double Progress = 0;
//在你的循环
{
//Loop logic here
IterationsDone++;
Progress = IterationsDone/IterationsToDo;
MessageFunctionHere(std::to_string(Progress));
}
_ “有没有办法做到这一点在C++?” 结束_是的,有。查找_callback函数_以及如何使用课程注册这些函数。 –
@πάνταῥεῖ当然在Qt中你已经有信号,所以你不需要明确地使用回调:) –
Thay *是*回调 - 即使它们伪装了一下。 –