Consider a non-linear Wizard created with designer. Wizard pages are designed separately and added to the wizard promoted.

In order to control workflow by page id I currently have an enum in my Wizard class that I manually keep in sync with the page order as done in designer. This is error prone and bad.

I could remove all pages from the wizard, then use QWizard::setPage(int id, QWizardPage *page) in order to re-add the pages and control their ids with my named enum items. This feels like doubling of efforts and I'd prefer to control the ids in designer.

Now I found this "pageId" property in QWizardPage's designer view which if set results in a string attribute added to the page's .ui file. It appears to be unrelated to the int id used for wizard control. Plus I didn't find any methods in either QWizard or QWizardPage that appear to be related to that string property/attribute.

What's the use of this string pageId? Is there any way it translates into the int page id used for wizard control? Is there another way to associate named int page ids with the QWizardPage objects?