我有兩個類,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 *是*回調 - 即使它們僞裝了一下。 –