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. 2019-2020春江云暖你先知,CAE/EDA/高校等CloudHPC领域年均复合增长率超21%

    原创: 灵魂工作室 速石科技 我猜,我们是最早和你说春天来了的人. 一年前,我们还在小心谨慎地定义着Cloud HPC,一脸娇羞地拿Novartis 诺华制药在5年前做的案例当作标杆. 不久前,Hyp ...

  2. STM321的SPI驱动遇到的一个坑!!

    最近在做项目要用到FATFS文件驱动和SD卡驱动,SD卡驱动我用的是SPI的通信方式,在挂载文件系统是总是挂在失败了,花了一天时间反复检查,才发现SPI在接收时候卡死: 为了寻找问题的原因,整个人都快 ...

  3. cf - 01串的问题

    One beautiful July morning a terrible thing happened in Mainframe: a mean virus Megabyte somehow got ...

  4. OffSet和Utc

    DateTime dtt = System.DateTime.Now ;//utcnow是格林威治的时间,与北京时间-8 strin(dtt); public static string strin( ...

  5. Xcode10:library not found for -lstdc++.6.0.9 临时解决

    1.https://pan.baidu.com/s/1IkbZb6qaxgvghP1HEFQa6w?errno=0&errmsg=Auth%20Login%20Sucess&& ...

  6. Django 滑动验证

    极验官网:https://www.geetest.com/ 文档: https://docs.geetest.com/ 查看 行为验证的部署文档

  7. path_info和get_full_path()的区别

    1.get_full_path() 获取的url路径包含参数 2.path_info 获取的路径不包含参数 注意:获取的路径都不包含协议 IP 和端口 3.补充 sesssion http://127 ...

  8. Oracle GoldenGate for BigData-Kafka

    0. Env list:Oracle Linux:6.10Oracle DB 11.2.0.4OGG4Ora:19.1OGG4BD:19.1 1.Install package for OCI ins ...

  9. MySQL日志及索引

    MySQL物理结构: MySQL它是通过文件系统对数据进行储存和管理,从物理结构上分为日志文件和数据文件 日志文件: 日志文件记录了数据库操作的信息和一些错误信息,我们常用的日志文件有:错误日志.二进 ...

  10. 【java面试】算法篇

    1.冒泡排序 /** * 冒泡排序 * 比较相邻的元素.如果第一个比第二个大,就交换他们两个. * 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最大的数. ...