<p>我过去也有类似的要求。我在<code>C++</code>中开发了一个应用程序,它要求<code>QWizard</code>对我的<code>Hardware Device</code>进行许可和校准,结果发现{<cd2>}中没有切换到以前访问过的页面/ID的规定</p>
<p>我在<code>C++</code>中想出了一个解决办法。但是,您可以轻松地移植到<code>python</code>。<a href="http://pyqt.sourceforge.net/Docs/PyQt4/qwizard.html" rel="nofollow noreferrer">here</a>上的文档显示<code>pyqt</code>有方法<code>setStartId</code>和{<cd9>}。您可以使用它们来实现<code>python</code>中的逻辑。在</p>
<pre><code>LicenseWizard::LicenseWizard(QWidget *parent)
: QWizard(parent)
{
setPage(Page_Intro, new IntroPage);
setPage(Page_Evaluate, new EvaluatePage);
setPage(Page_Register, new RegisterPage);
setPage(Page_Details, new DetailsPage);
setPage(Page_Conclusion, new ConclusionPage);
setStartId(Page_Intro);
#ifndef Q_WS_MAC
setWizardStyle(ModernStyle);
#endif
setOption(HaveHelpButton, true);
setPixmap(QWizard::LogoPixmap, QPixmap(":/images/logo.png"));
connect(this, SIGNAL(helpRequested()), this, SLOT(showHelp()));
QAbstractButton *b = this->button(QWizard::BackButton);
connect(b, SIGNAL(clicked()), this, SLOT(goToSecondPage()));
setWindowTitle(tr("License Wizard"));
}
void LicenseWizard::goToSecondPage()
{
setStartId(Page_Evaluate);
restart();
}
</code></pre>