There is "Step" and "StepCanceled". Usually, we do not even use "Set", just:
Progress pi("operationname");
pi.SetTotal(maxval);
for(int i = 0; i < maxval; i++) {
if(pi.StepCanceled())
return; // work is canceled;
//... do work
}
Now if you do not know "maxval", simply omit the "SetTotal" part. Progress will show running strip instead.
You can also place "%d" to the description, it will be suplemented by number of times "Step" or "StepCanceled" was called: