Qt菜单栏创建帮助说明————附带效果和详细代码

文章目录

  • 0 效果
  • 1 实现
    • 1.1 创建名称和位置
    • 1.2 关联信号和槽函数
    • 1.3 编写事件

0 效果

开始:
Qt菜单栏创建帮助说明————附带效果和详细代码_第1张图片
中间步骤
Qt菜单栏创建帮助说明————附带效果和详细代码_第2张图片
结束:
Qt菜单栏创建帮助说明————附带效果和详细代码_第3张图片

1 实现

1.1 创建名称和位置

在ui设计界面新建需要的菜单名称
Qt菜单栏创建帮助说明————附带效果和详细代码_第4张图片

1.2 关联信号和槽函数

找到对象的名称
Qt菜单栏创建帮助说明————附带效果和详细代码_第5张图片
Qt菜单栏创建帮助说明————附带效果和详细代码_第6张图片
在类的构造函数中编写函数:

    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

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;
}

你可能感兴趣的:(Qt,Qt,菜单栏,帮助)