用C ++将消息传递给Caller

时间:2016-07-29 17:50:18

标签: c++ qt

我有两个类,A和B.ClassA调用classB中的一个方法,它循环遍历一个大循环。 ClassA还会打印到Qt消息框。我想要的是能够将%完成打印到classA的消息框中。有没有办法在C ++中做到这一点?

ClassA calls ClassB.method();

ClassA <-- 10% -- ClassB.method();

ClassA -- 10% --> MessageBox

2 个答案:

答案 0 :(得分:5)

由于您使用的是Qt,因此当进度发生变化时,会在B内发出信号。将该信号连接到A中用于更新进度显示的插槽。这就是你所需要的一切。

答案 1 :(得分:0)

//在你的循环之上

int IterationsToDo =#; int IterationsDone = 0;

double Progress = 0;

//在循环结束时

{

 //Loop logic here


 IterationsDone++;
 Progress = IterationsDone / IterationsToDo;
 MessageFunctionHere(std::to_string(Progress));

}