Creating Wizards in Code

介绍

如果基于模板的自定义向导提供的功能不足以满足您的情况,则可以用代码编写向导。

Qt Creator中的向导是实现Core::IWizardFactory接口的类的实例,该接口具有使用IWizardFactory::registerFactoryCreator注册的创建函数。

实现向导需要:

  • 编写从Core::IWizardFactory派生的工厂类。这是一个非常通用的界面,不会对向导的功能及其UI外观做出任何假设。

  • 提供一组参数,这些参数确定向导在“新建文件”或“项目”对话框的向导列表中的显示方式。

    从Core: IWizardFactory派生时,构造函数必须调用基类提供的以下设置函数:

    • setId
    • setWizardKind
    • setIcon
    • setDescription
    • setDisplayName
    • setCategory
    • setDisplayCategory
    • setDescriptionImage
    • setRequiredFeatures
    • setFlags
  • 实现向导UI
    通常,这将是派生自Utils::Wizard的类。Utils::Wizard扩展了QWizard的功能,以在左侧显示进度条。

  • 实现向导功能
    建议使用Core::GeneratedFile表示需要写入磁盘的文件。它们允许延迟写入实际数据到磁盘,直到向导完成。

相关类

描述
Core::IWizardFactory Qt Creator向导界面,在ExtensionSystem::PluginManager中注册其类的实现。
Core::GeneratedFile 文件,包含名称,内容和相关属性。
Utils::FileWizardPage 介绍性向导页面,询问文件名和路径。
Utils::ProjectIntroPage 介绍性向导页面,询问项目名和路径。

IWizardFactory的设置器和获取器

下面列出的设置器和获取器,确定向导在“新建文件”或“项目”对话框的向导列表中的显示方式。

类型 参数名 描述
Core::IWizardFactory::WizardKind kind 指示向导类型(项目或文件)的枚举值。
QIcon icon 显示的图标。
QString description 描述性文本。
QString displayName 要在列表中显示的名称。
QString id 向导的唯一标识符。它还决定类别中的顺序。
QString category 列出向导所属类别的标识符。它还确定类别的顺序。
QString displayCategory 类别的描述。

具有相同类别集的所有向导,在“新建文件”或“项目”对话框中被组合在一起。


原创造福大家,共享改变世界

献出一片爱心,温暖作者心灵


qt creator源码全方面分析(2-5)的更多相关文章

  1. qt creator源码全方面分析(3-3)

    目录 qtcreatordata.pri 定义stripStaticBase替换函数 设置自定义编译和安装 QMAKE_EXTRA_COMPILERS Adding Compilers 示例1 示例2 ...

  2. qt creator源码全方面分析(3-5)

    目录 qtcreatorlibrary.pri 使用实例 上半部 下半部 结果 qtcreatorlibrary.pri 上一章节,我们介绍了src.pro,这里乘此机会,把src目录下的所有项目文件 ...

  3. qt creator源码全方面分析(0)

    本人主攻C++和Qt. 上两天刚研究完Qt install framework(IFW)应用程序安装框架. google没发现有正儿八经的官方文档的翻译,我就进行了翻译哈!! 系列文章具体见:http ...

  4. qt creator源码全方面分析(4-0)

    Qt系统 Qt Creator源码是在Qt对象和框架基础下写的,因此,阅读Qt Creator源码,你首先对Qt得有一定的了解. Qt Core Qt Core特征: The Meta-Object ...

  5. qt creator源码全方面分析(4-2)

    目录 global头文件 global.h xx.h global头文件 插件的本质就是动态链接库,对于库,需要导出符号,供用户导入使用.在qt creator的源码中,存在固定的导入导出模式. gl ...

  6. qt creator源码全方面分析(4-5)

    目录 Qt中的字符串 QLatinString 详细介绍 源码 小结 QStringLiteral(str) 详细介绍 源码 小结 Qt中的字符串 Qt中处理字符串最常用的肯定是QString,但是在 ...

  7. qt creator源码全方面分析(4-6)

    目录 Qt插件基础 Qt插件基础 我们知道Qt Creator源码是基于插件架构的,那么我们先来介绍下插件基础知识. 相关内容如下: How to Create Qt Plugins [ - Defi ...

  8. qt creator源码全方面分析(3-2)

    目录 qtcreator.pri 判断重复包含 定义版本信息 VERSION 定义IDE名称 启用C++14 CONFIG 自定义函数 Replace Functions Test Functions ...

  9. qt creator源码全方面分析(2-7)

    目录 Completing Code 补全代码片段 编辑代码片段 添加和编辑片段 删除片段 重置片段 补全Nim代码 Completing Code 在编写代码时,Qt Creator建议使用属性,I ...

  10. qt creator源码全方面分析(2-10-1)

    目录 Getting and Building Qt Creator 获取Qt 获取和构建Qt Creator Getting and Building Qt Creator 待办事项:应该对此进行扩 ...

随机推荐

  1. 机器学习——提升方法AdaBoost算法,推导过程

    0提升的基本方法 对于分类的问题,给定一个训练样本集,求比较粗糙的分类规则(弱分类器)要比求精确的分类的分类规则(强分类器)容易的多.提升的方法就是从弱分类器算法出发,反复学习,得到一系列弱分类器(又 ...

  2. selenium chrome headless无界面引擎

    注意:PhantomJS已被舍弃 chrome headless 在打开浏览器之前添加参数 import time import sys from selenium import webdriver ...

  3. git 远程托管

    1.创建别名 git remote add orgin(别名) url 2.推入云端 git push 别名 master(分支) git push 别名 dev 3.克隆(默认只有master分支) ...

  4. 异数OS 织梦师-水母(一)--消息队列篇

    异数OS 织梦师-水母(一)–消息队列篇 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 652455784 异数O ...

  5. QT 获取当前毫秒级时间缀

    long long currentTime = QDateTime::currentDateTime().toMSecsSinceEpoch();

  6. [洛谷P2962] [USACO09NOV] 灯Lights

    Description Bessie and the cows were playing games in the barn, but the power was reset and the ligh ...

  7. 无法解析导入javax.mail

    本文链接:https://blog.csdn.net/aaqian1/article/details/89357195下载地址: http://www.oracle.com/technetwork/j ...

  8. C#反射与特性(四):实例化类型

    目录 1,实例化类型 1.1 Activator.CreateInstance() 1.2 ConstructorInfo.Invoke() 2,实例化委托 3,实例化泛型类型 3.1 实例化泛型 3 ...

  9. Object Detection API error: “ImportError: cannot import name anchor_generator_pb2”

    Configuring the Object Detection API on Windows is a tricky task. You will find the answer in the fo ...

  10. Spring Cloud服务注册中心交付至kubernetes

    前言 服务发现原则: 各个微服务在启动时,会将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息 服务消费者可以从服务发现组件中查询到服务提供者的网络地址,并使用该地址来远程调用服务 ...