Qt WizardPage 返回一些显式函数

Qt WizardPage back with some explicit function

我是 Qt 的新手。 我创建了一个 QWizard 并向其中添加了一些 QWizardPage。现在我想通过后退按钮以外的其他方式返回前一页,例如:一些信号或一些功能。

具体来说,我想操作第2页的一些功能,其中显示一个消息框,并提供return到第1页的选择。

QWizard 有一个用于 back 的插槽(如果需要,还有 nextrestart

您可以像函数调用一样手动调用插槽

wizard->back();

或将其连接到自定义信号

connect(someClass,&class::mysignal,wizard,&QWizard::back);

当你想要更复杂的行为时,也许你应该考虑创建一个 non-linear wizard

Qt 有一个关于一般如何做的指南。

基本上它是关于覆盖 QWizard::nextId() 并且当向导想要找出下一步跳转到哪里时将调用此函数。


虽然你不能直接跳转到某个页面。你必须打电话给 back/next/restart

这可以通过以下方式解决:

while(wizard->currentId() != <desiredID>)
{
     wizard->back();
}

请注意,如果您已经在页面之前,您就不会陷入无限循环。转到第 1 页 restart 将是更好的选择。或如前所述的非线性向导。