0 效果
开始:
中间步骤
结束:
1 实现
1.1 创建名称和位置
在ui设计界面新建需要的菜单名称
1.2 关联信号和槽函数
找到对象的名称
在类的构造函数中编写函数:
connect(ui->action_A, &QAction::triggered, [=](){
QWizard wizard(this);
wizard.setOption(QWizard::NoBackButtonOnStartPage );//设置第一页没有上一步按钮
wizard.setWizardStyle( QWizard::ModernStyle );//设置上一步下一步等按钮的显示格式
// wizard.setWindowTitle(tr("帮助对话框"));//设置框的标题
wizard.addPage(createPage1());
wizard.addPage(createPage2());
wizard.addPage(createPage3());
wizard.addPage(createPage4());
wizard.exec();
});
1.3 编写事件
在界面类的头文件中声明:
#include<QWizard>
private:
QWizardPage * createPage1();
QWizardPage * createPage2();
QWizardPage * createPage3();
QWizardPage * createPage4();
编写定义:
QWizardPage * MainWindow::createPage1(){
QWizardPage * page = new QWizardPage;
page->setTitle(tr("帮助对话框"));
page->setTitle(tr("首先,非常欢迎使用本软件!让我们赶快开始吧!\n点击“选择图片”按钮,来读入将要检测的图片。"));
page->setButtonText(QWizard::NextButton,"下一步");
page->setButtonText(QWizard::BackButton,"上一步");
page->setButtonText(QWizard::CancelButton,"取消");
page->setButtonText(QWizard::FinishButton,"完成");
QLabel *picLabel = new QLabel;
picLabel->setPixmap(QPixmap(":/image/images/guide1.jpg"));
QHBoxLayout *firstLayout = new QHBoxLayout;
firstLayout->addWidget(picLabel);
page->setLayout(firstLayout);
return page;
}
QWizardPage * MainWindow::createPage2(){
QWizardPage * page = new QWizardPage;
page->setTitle(tr("第二步"));
page->setTitle(tr("然后点击“开始检测”按钮,来开始检测工作。检测完成后,会以文字结果呈现在屏幕的右端的文字框中。"));
page->setButtonText(QWizard::NextButton,"下一步");
page->setButtonText(QWizard::BackButton,"上一步");
page->setButtonText(QWizard::CancelButton,"取消");
page->setButtonText(QWizard::FinishButton,"完成");
QLabel *picLabel = new QLabel;//设置图片
picLabel->setPixmap(QPixmap(":/image/images/guide2.jpg"));
QHBoxLayout *secondLayout = new QHBoxLayout;
secondLayout->addWidget(picLabel);
page->setLayout(secondLayout);
return page;
}
QWizardPage * MainWindow::createPage3(){
QWizardPage * page = new QWizardPage;
page->setTitle(tr("第三步"));
page->setTitle(tr("如果需要图片的检测结果,请点击“结果展示”按钮按钮。"));
page->setButtonText(QWizard::NextButton,"下一步");
page->setButtonText(QWizard::BackButton,"上一步");
page->setButtonText(QWizard::CancelButton,"取消");
page->setButtonText(QWizard::FinishButton,"完成");
QLabel *picLabel = new QLabel;//设置图片
picLabel->setPixmap(QPixmap(":/image/images/guide3.jpg"));
QHBoxLayout *thirdLayout = new QHBoxLayout;
thirdLayout->addWidget(picLabel);
page->setLayout(thirdLayout);
return page;
}
QWizardPage * MainWindow::createPage4(){
QWizardPage * page = new QWizardPage;
page->setTitle(tr("第四步"));
page->setTitle(tr("如果你需要保存检测后的结果图片,请点击“保存结果”按钮。"));
page->setButtonText(QWizard::NextButton,"下一步");
page->setButtonText(QWizard::BackButton,"上一步");
page->setButtonText(QWizard::CancelButton,"取消");
page->setButtonText(QWizard::FinishButton,"完成");
QLabel *picLabel = new QLabel;//设置图片
picLabel->setPixmap(QPixmap(":/image/images/guide4.jpg"));
QHBoxLayout *fourthLayout = new QHBoxLayout;
fourthLayout->addWidget(picLabel);
page->setLayout(fourthLayout);
return page;
}