在代码中创建向导

简介

如果基于模板的自定义向导提供的功能不足以满足您的需求,您可以在代码中编写向导。

Qt Creator 中的向导是实现了 Core::IWizardFactory 接口的类的实例,它已通过 IWizardFactory::registerFactoryCreator 注册了创建函数。

实现向导需要

  • 编写一个从 Core::IWizardFactory 继承的工厂类。这是一个非常通用的接口,不对向导的功能和界面外观作任何假设。
  • 提供一组参数,这些参数确定向导在 新建文件新建项目 对话框中的向导列表中显示的方式。

    Core::IWizardFactory 继承时,构造函数必须调用基类提供的以下设置器

    • setId()- 设置 ID
    • setWizardKind()- 设置向导类型
    • setIcon()- 设置图标
    • setDescription()- 设置描述
    • setDisplayName()- 设置显示名称
    • setCategory()- 设置类别
    • setDisplayCategory()- 设置显示类别
    • setDescriptionImage()- 设置描述图片
    • setRequiredFeatures()- 设置所需特性
    • setFlags()- 设置标志
  • 实现向导 UI

    通常,这将是继承自 Utils::Wizard 的类。 Utils::Wizard 使用左边的进度条扩展了 QWizard

  • 实现向导功能

    建议使用 Core::GeneratedFile 来表示需要写入磁盘的文件。它们允许将实际数据写入磁盘的操作延迟到向导完成后进行。

相关类

描述
Core::IWizardFactoryQt Creator 向导接口,其实现在 ExtensionSystem::PluginManager 中注册。
Core::GeneratedFile包含名称、内容和一些属性的文件。
Utils::FileWizardPage简介向导页面,询问文件名和路径。
Utils::ProjectIntroPage简介向导页面,询问项目名称和路径。

IWizardFactory 的设置器和获取器

下表中的设置器和获取器决定了向导在 新建文件新建项目 对话框中的向导列表中的显示方式。

类型参数名称描述
Core::IWizardFactory::WizardKindkind指示向导类型(projectfile)的枚举值。
QIconicon要显示的图标。
QStringdescription描述性文本。
QStringdisplayName显示在列表中的名称。
QStringid向导的唯一标识符。它还决定了类别内的顺序。
QStringcategory标识将向导列出在其下的类别的标识符。它还决定了类别的顺序。
QStringdisplayCategory类别的描述。

具有相同类别设置的向导将在 新建文件新建项目 对话框中一起分组。

©2024 年 Qt 公司有限公司的应用文档贡献属于各自所有者的版权。提供的文档是在自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款下授权的。Qt 及其相关标志是芬兰和/或其他国家/地区的 Qt 公司商标。所有其他商标均为其各自所有者的财产。