Qt QWizard新建向导实例

news2024/11/13 16:18:07

使用QWizard做新建向导,最简单的实例


class MyWizard : public QWizard
{
public:

    MyWizard(QWidget* parent = nullptr);

    QWizardPage* createFirstPage();

    QWizardPage* createSecondPage();

    QWizardPage* createThirdPage();
};

MyWizard::MyWizard(QWidget* parent) :
    QWizard(parent)
{
    /*setOption( QWizard::NoBackButtonOnStartPage );*/
    //setOption( QWizard::NoBackButtonOnLastPage );
    //setOption( QWizard::NoCancelButton );

    setOption(QWizard::NoBackButtonOnStartPage);//设置第一页没有上一步的按钮
    setWizardStyle(QWizard::ModernStyle);//设置上一步下一步等按钮的显示格式
    addPage(createFirstPage());//添加自己写好的QWizardPage页面
    addPage(createSecondPage());
    addPage(createThirdPage());
}
QWizardPage* MyWizard::createFirstPage()
{
    QWizardPage* firstPage = new QWizardPage;
    firstPage->setTitle(tr("first"));//设置第一个QWizardPage
    QLabel* picLabel = new QLabel;
    picLabel->setPixmap(QPixmap(":/QtCanpoolDemo/res/1.jpg"));
    QHBoxLayout* firstLayout = new QHBoxLayout;
    firstLayout->addWidget(picLabel);
    firstPage->setLayout(firstLayout);

    firstPage->setButtonText(QWizard::BackButton, "back");
    firstPage->setButtonText(QWizard::NextButton, "next");//为next设置一个中文的名字
    firstPage->setButtonText(QWizard::CancelButton, "cancel");
    firstPage->setButtonText(QWizard::FinishButton, "finish");
    return firstPage;
}
QWizardPage* MyWizard::createSecondPage()
{
    QWizardPage* secondPage = new QWizardPage;
    secondPage->setTitle(tr("second"));
    QLabel* picLabel = new QLabel;
    picLabel->setPixmap(QPixmap(":/QtCanpoolDemo/res/2.jpg"));
    QHBoxLayout* secondLayout = new QHBoxLayout;
    secondLayout->addWidget(picLabel);
    secondPage->setLayout(secondLayout);

    secondPage->setButtonText(QWizard::NextButton, "next");
    secondPage->setButtonText(QWizard::BackButton, "back");
    secondPage->setButtonText(QWizard::CancelButton, "cancel");
    secondPage->setButtonText(QWizard::FinishButton, "finish");
    return secondPage;
}
QWizardPage* MyWizard::createThirdPage()
{
    QWizardPage* thirdPage = new QWizardPage;
    thirdPage->setTitle(tr("third"));
    QLabel* picLabel = new QLabel;
    picLabel->setPixmap(QPixmap(":/QtCanpoolDemo/res/3.jpg"));
    QHBoxLayout* thirdLayout = new QHBoxLayout;
    thirdLayout->addWidget(picLabel);
    thirdPage->setLayout(thirdLayout);

    thirdPage->setButtonText(QWizard::NextButton, "next");
    thirdPage->setButtonText(QWizard::BackButton, "back");
    thirdPage->setButtonText(QWizard::CancelButton, "cancel");
    thirdPage->setButtonText(QWizard::FinishButton, "finish");
    return thirdPage;
}

int main(int argc, char* argv[])
{
    QApplication app(argc, argv);

    MyWizard wizard;
    wizard.show();

    return app.exec();
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1908205.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

19_谷歌GoogLeNet(InceptionV1)深度学习图像分类算法

1.1 简介 GoogLeNet(有时也称为GoogleNet或Inception Net)是一种深度学习架构,由Google的研究团队在2014年提出,主要设计者为Christian Szegedy等人。这个模型是在当年的ImageNet大规模视觉识别挑战赛(ILSVRC&#xf…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

昇思25天学习打卡营第5天|MindSpore网络模型构建

打卡 目录 打卡 模型类 模型网络:定义与使用 模型层级分解 nn.Flatten 张量转换-演示查看 nn.Dense 全连接层-演示查看 nn.ReLU 非线性激活层-演示查看 nn.SequentialCell 有序网络容器 nn.Softmax 多分类概率预测 模型参数 前置感受:总的来说…

跟《经济学人》学英文:2024年07月06日这期:How Starbucks caffeinates local economies

How Starbucks caffeinates local economies Call it the frappuccino effect frappuccino:星冰乐 星巴克如何刺激当地经济:称之为星冰乐效应 原文: Starbucks offers endless opportunities for innovation. Parts of social media del…

Scrapy框架的基本使用教程

1、创建scrapy项目 首先在自己的跟目录文件下执行命令: PS D:\BCprogram\python_pro\bigdata> scrapy startproject theridion_grallatorscrapy startproject 项目名 具体执行操作如下:1、创建项目目录:Scrapy会在当前工作目录下创建一…

OceanBase 配置项系统变量实现及应用详解(1):配置项的定义及使用方法

《OceanBase 配置项&系统变量实现及应用详解》专题导读 在使用OceanBase的过程中,看到大家经常会遇到“参数”、“配置项”、“系统变量”等概念,却不太清楚它们是不是同一个东西,以及应该如何使用。一些对数据库开发感兴趣的朋友&#…

JavaScript总结2

概述 JavaScript是世界上最流行的脚本语言。JavaScript是一种轻量级的编程语言,可以插入HTML页面的编程代码。 JavaScript插入HTML页面后,可由浏览器执行。 特点 语法简单,易学易用; 解释性语言; 跨平台&#xff…

中国各省金融监管水平-测算数据(2006-2022年)

金融监管水平是指政府及其指定机构通过法律法规对金融机构及其市场行为进行监督、管理与规范的能力和效率,以维护金融体系稳定、保护投资者和消费者权益、促进公平竞争及支持经济增长。衡量金融监管水平的指标多样,常见的一种计算方式是金融监管支出与金…

K8s驱逐场景以及规避方案参考 —— 筑梦之路

Pod 驱逐分为两种情况: 较安全驱逐 & 提高稳定性的良性驱逐 API 发起驱逐,典型案例:kubectl drain Node Not Ready 时,Controller Manager 发起的驱逐 有风险的驱逐 节点压力驱逐 节点磁盘空间不足、内存不足 或 Pid 不足&…

jmeter-beanshell学习6-beanshell生成测试报告

前面写了各种准备工作,内容组合用起来,应该能做自动化了,最后一步,生成一个报告,报告格式还是csv 报告生成的路径和文件,在用户参数写好,防止以后改路径或者名字,要去代码里面改。以…

提高Python爬虫的匿名性:代理ip的配置策略

在当今,网络数据采集作为获取行业信息的重要手段,尤其在竞争激烈的商业环境中,Python作为一种强大的编程语言,广泛应用于开发各种数据爬虫来自动化地抓取网络信息。然而,网站普遍采用防护措施,即使我们合规…

基于Java技术的B/S模式书籍学习平台

你好,我是专注于计算机科学领域的学姐码农小野。如果你对书籍学习平台开发感兴趣或有相关需求,欢迎私信联系我。 开发语言: Java 数据库: MySQL 技术: B/S模式、Java技术 工具: Eclipse、Navicat、Mave…

手写简单模拟mvc

目录结构: 两个注解类: Controller: package com.heaboy.annotation;import java.lang.annotation.*;/*** 注解没有功能只是简单标记* .RUNTIME 运行时还能看到* .CLASS 类里面还有,构建对象久没来了,这个说明…

高效前端开发:解密pnpm的存储与链接

什么是pnpm PNPM(Performant NPM)是一种快速且节省磁盘空间的包管理工具。相较于其他包管理器如NPM和Yarn,PNPM通过独特的存储机制和链接技术解决了许多常见的问题。以下是PNPM如何避免这些问题以及其关键技术的详细介绍。 特性 PNPM Store…

初始redis:在Ubuntu上安装redis

1.先切换到root用户 使用su命令切换到root 2.使用apt命令来搜索redis相关的软件包 命令:apt search redis 3.下载redis 命令: apt install redis 在Ubuntu 20.04中 ,下载的redis版本是redis5 4.查看redis状态 命令: netst…

jmeter-beanshell学习5-beanshell加减乘除运算

我用到的场景是计算金额,所以主要以金额为主,感觉这部分有点麻烦,直接写遇到的几个坑,就不演示解决的过程了。 1.最早写了个两数相减,但是小数精度容易出现问题。比如1-0.010.989999997这种情况,随便写的几…

【Java]认识泛型

包装类 在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。 除了 Integer 和 Character, 其余基本类型的包装类都是首字母大写。 泛型 泛型是在JDK1.5引入的…

第一百四十九节 Java数据类型教程 - Java子字符串、字符串转换

Java数据类型教程 - Java子字符串 获取子字符串 我们可以使用substring()方法来获取字符串的子部分。 我们可以将开始索引作为参数,并返回一个从开始索引开始到字符串结尾的子串。 我们还可以将开始索引和结束索引作为参数。 它返回从开始索引开始的子字符串和小…

项目记录:一个用python编写的简易版点餐系统

最近无聊做了一个简易版本的点餐系统,简单记录一下。吐槽一下最近的心情,最近心情较差,应该近期会去南昌玩吧,懂南昌的朋友可以评论区推荐下游玩攻略,非常感谢! (1)相关配置信息&…

基于复旦微V7 690T FPGA +ARM/海光X86+AI的全国产化数据采集人工智能平台

国产化FPGA:JFM7VX690T80主机接口:PCIe Gen3 x88Gbps/lane光纤通道:前面板4路SFP光纤,后面板1路QSFP光纤2组独立的DDR3 SDRAM 缓存,工作时钟频率800MHz2个FMC接口扩展:每个支持16路GTH,线速率10…