qt creator源码全方面分析(2-5)
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 | 类别的描述。 |
具有相同类别集的所有向导,在“新建文件”或“项目”对话框中被组合在一起。
原创造福大家,共享改变世界
献出一片爱心,温暖作者心灵
![](https://img2018.cnblogs.com/blog/1921368/202002/1921368-20200223073938417-815334096.jpg)