Qt WizardPage 返回一些显式函数
Qt WizardPage back with some explicit function
我是 Qt 的新手。
我创建了一个 QWizard 并向其中添加了一些 QWizardPage。现在我想通过后退按钮以外的其他方式返回前一页,例如:一些信号或一些功能。
具体来说,我想操作第2页的一些功能,其中显示一个消息框,并提供return到第1页的选择。
QWizard
有一个用于 back
的插槽(如果需要,还有 next
和 restart
)
您可以像函数调用一样手动调用插槽
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
将是更好的选择。或如前所述的非线性向导。
我是 Qt 的新手。 我创建了一个 QWizard 并向其中添加了一些 QWizardPage。现在我想通过后退按钮以外的其他方式返回前一页,例如:一些信号或一些功能。
具体来说,我想操作第2页的一些功能,其中显示一个消息框,并提供return到第1页的选择。
QWizard
有一个用于 back
的插槽(如果需要,还有 next
和 restart
)
您可以像函数调用一样手动调用插槽
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
将是更好的选择。或如前所述的非线性向导。