我在過去有類似的要求。我正在開發C++
中的應用程序,該應用程序需要QWizard
用於我的Hardware Device
的許可和校準,並且發現QWizard
中沒有規定切換到先前訪問的頁面/ ID。
我想出了一個解決方法C++
。但是,您可以輕鬆移植到python
。通過here的文檔顯示pyqt
具有方法setStartId
和restart
。您可以使用它們來實現python
中的邏輯。
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();
}
我編輯了問題以闡明 – DaClown 2011-04-26 10:57:25