自定义向导
如果您有一个团队正在开发一个大型应用程序或多个应用程序,您可能希望将团队成员创建项目和文件的方式标准化。
您可以创建 JSON 格式的自定义向导。它们存储在向导模板目录中,该目录包含一个名为wizard.json
的 JSON 配置文件和任何需要的模板文件。配置文件包含指定向导信息、可使用的变量、向导页面和用于创建文件的生成器的部分。
要创建自定义向导,请将模板目录复制到本地用户设置目录下的templates/wizards/
目录,并使用新名称。然后更改wizard.json
文件中的向导 ID。
您可以在设置目录中为模板创建一个子目录。Qt Creator 会按类型将标准向导组织到子目录中,但您也可以将向导目录添加到任何您喜欢的目录中。文件夹层次结构不会影响Qt Creator 显示向导的顺序。
要与其他用户共享向导,可以创建一个向导目录存档,并指示接收者将其解压缩到Qt Creator 搜索向导的某个目录中。
Qt Creator 在 和 对话框中显示找到的向导。每个向导都会显示一个图标 (1)、一个显示名称 (2) 和一个描述 (3)。New Project New File
向导类型
在项目向导中,可以指定项目所需的文件。您可以添加向导页面,让开发人员为项目指定设置。
文件向导与之类似,但没有任何项目文件。
查找向导
Qt Creator 在以下位置搜索向导:
- 共享目录中的预定义向导:
- 在 Windows 上
share\qtcreator\templates\wizards
- 在 Linux 上
share/qtcreator/templates/wizards
- 在 macOS 上
Qt Creator.app/Contents/Resources/templates/wizards
- 在 Windows 上
- 本地用户设置目录中的自定义向导:
- 在 Windows 上
%APPDATA%\QtProject\qtcreator\templates\wizards
- 在 Linux 和 macOS 上
$HOME/.config/QtProject/qtcreator/templates/wizards
- 在 Windows 上
向导开发提示
为某些辅助操作指定键盘快捷键,并打开详细输出。
将操作映射到键盘快捷键
Qt Creator 有一些操作可以改善向导开发过程。这些操作默认情况下没有键盘快捷方式,因此无法触发。要启用它们,请在首选项> > > 中分配键盘快捷方式。Environment Keyboard Wizard
以下操作有助于向导开发:
操作 ID | 操作说明 |
---|---|
Inspect | 触发该操作会打开一个窗口,列出触发该操作时向导中所有已定义的字段和变量。每次激活该操作都会打开一个新的非模式窗口,因此可以比较向导不同页面的状态。 |
Factory.Reset | 触发该操作会使Qt Creator 忘记所有向导工厂,例如,在打开File >New Project 时,它会重新加载所有向导定义。这样,您就不必重新启动Qt Creator 才能看到对向导定义所做的更改。 |
详细输出
在向导开发过程中,建议使用-customwizard-verbose
参数启动Qt Creator ,以确认Qt Creator 是否找到并解析了wizard.json
文件。详细说明模式会显示语法错误信息,这是您在编辑向导时可能遇到的最典型错误。
在 "冗长 "模式下,每个正确设置的向导都会产生如下输出:
Checking "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard" for wizard.json. * Configuration found and parsed.
输出包括Qt Creator 检查wizard.json
文件的目录名称。如果找不到文件,则不显示信息。
如果文件有错误,如图标路径无效,则会收到以下类型的信息:
Checking "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard" for wizard.json. * Configuration found and parsed. * Failed to create: Icon file "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard/../.. /global/genericfilewizard.png" not found.
有关命令行参数的更多信息,请参阅命令行选项。
将向导集成到构建中
如果您是Qt Creator 开发人员或构建自己的Qt Creator 版本供他人使用,则可以将向导集成到Qt Creator 中。要将向导作为Qt Creator 构建的一部分交付,请将向导文件放在Qt Creator 源中的共享目录下。然后选择Build >Run CMake 。这将确保您为向导添加的新文件从Qt Creator 源目录实际复制到Qt Creator 构建目录,作为下一次Qt Creator 构建的一部分。
如果不运行 CMake,您的新向导将不会显示,因为它不存在于您运行新构建的Qt Creator 的构建目录中。它从未被复制到那里,因为 CMake 并没有将源代码树中的新文件告知构建工具(如 make 或 Ninja)。
基本上,CMake 会生成一个固定的文件列表,将源代码目录中的文件复制到构建目录的子目录中,并在运行时对向导进行检查。因此,每次文件名或位置发生变化时,都需要运行 CMake 或执行Factory.Reset 函数。
在向导中使用变量
您可以在 JSON 配置文件和模板源文件中的字符串中使用变量 (%\{<variableName>\}
)。向导及其页面预定义了一组变量。您可以在wizard.json
文件中的options
部分定义变量键名和值,引入新变量作为快捷方式供以后使用。
有一个特殊的变量%\{JS:<JavaScript expression>\}
,它可以对给定的 JavaScript 表达式进行求值,并将得到的 JavaScript 值转换为字符串。在 JavaScript 表达式中,可以通过value('<variableName>')
引用向导定义的变量。返回的 JavaScript 对象与变量值的类型相同,可以是字符串、列表、字典或布尔值。
在预期为布尔值而给出字符串的地方,空字符串和字符串"false"
将被视为false
,其他任何字符串将被视为true
。
本地化向导
如果设置名称以tr
前缀开头,则用户可以看到该值,并应进行翻译。如果新向导包含在Qt Creator 源中,则可翻译字符串会出现在Qt Creator 翻译文件中,并可作为Qt Creator 的一部分进行翻译。或者,也可以使用以下语法将翻译放在 .json 文件中:
"trDisplayName": { "C": "default", "en": "english", "de": "deutsch" }
例如
"trDisplayName": { "C": "Project Location", "en": "Project Location", "de": "Projektverzeichnis" }
创建向导
Qt Creator 有用于添加类、文件和项目的向导。您可以在此基础上添加自己的向导。我们使用 C++ 向导来解释过程以及 .json 文件中的部分和设置。
在本示例中,我们在共享目录中创建了向导目录,并将其集成到Qt Creator 构建系统中,这样它就可以与Qt Creator 二进制文件一起作为构建的一部分进行部署。
有关可添加的页面和部件及其支持属性的更多信息,请参阅可用页面和可用部件。
创建基于 JSON 的 C++ 类向导:
- 使用
-customwizard-verbose
参数启动Qt Creator ,以便在向导开发过程中接收反馈。更多信息,请参阅 "Verbose Output(详细输出)"。 - 为Inspect 和Factory.Reset 操作设置键盘快捷键,详见向导开发提示。
- 复制
share/qtcreator/templates/wizards/classes/cpp
并重命名。例如,$HOME/.config/QtProject/qtcreator/templates/wizards/classes/mycpp
。 - 使用Factory.Reset 操作,使向导出现在File >New File 中,而无需重新启动Qt Creator 。
- 打开向导配置文件
wizard.json
进行编辑:- 以下设置决定了向导的类型及其在New File 对话框中的位置:
"version": 1, "supportedProjectTypes": [ ], "id": "A.Class", "category": "O.C++",
version
是文件内容的版本。请勿修改此值。supportedProjectTypes
是可选设置,用于在现有项目中添加新的构建目标时过滤向导。例如,向现有 qmake 项目添加新目标时,只显示生成 qmake 项目的向导。可能的值是Qt Creator 或
UNKNOWN_PROJECT
(如果未指定构建系统)支持的构建系统:AutotoolsProjectManager.AutotoolsProject
,CMakeProjectManager.CMakeProject
,GenericProjectManager.GenericProject
,PythonProject
,Qbs.QbsProject
,Qt4ProjectManager.Qt4Project
(qmake 项目)、QmlProjectManager.QmlProject
id
是向导的唯一标识符。向导在 中按 ID 的字母顺序排序。您可以使用前导字母来指定向导的位置。您必须始终更改该值。例如, 。category
B.MyClass
该信息在向导中的位置为
%\{id\}
。category
是向导在列表中的类别。您可以在 对话框中使用前导字母指定类别在列表中的位置。New File该信息可在向导中找到,如
%\{category\}
。
- 以下设置指定了New File 对话框中显示的图标和文本:
"trDescription": "Creates a C++ header and a source file for a new class that you can add to a C++ project.", "trDisplayName": "C++ Class", "trDisplayCategory": "C++", "iconText": "h/cpp", "enabled": "%{JS: isPluginRunning('cppeditor')}",
trDescription
当选择 时,将显示在最右侧面板中。trDisplayCategory
该信息可在向导中找到,如
%\{trDescription\}
。trDisplayName
选择 时显示在中间面板。trDisplayCategory
该信息在向导中以
%\{trDisplayName\}
的形式提供。trDisplayCategory
出现在 对话框中的 下。New File Files and Classes该信息在向导中显示为
%\{trDisplayCategory\}
。icon
当选择 时,会出现在中间面板 旁边。我们建议您指定相对于 wizard.json 文件的路径,但也可以使用绝对路径。省略此值可使用向导类型的默认图标。trDisplayCategory
trDisplayName
iconText
决定默认文件图标的文本叠加。iconKind
确定图标是否为主题图标。image
指定显示在 下方的图像(例如屏幕截图)的路径。trDescription
featuresRequired
指定向导依赖的 功能。如果缺少所需的功能,向导将被隐藏。例如,如果没有套件设置 Qt 版本,则基于 qmake 的向导将被隐藏。Qt Creator如果需要表达更复杂的逻辑来决定向导是否可用,请使用
enabled
。该信息在向导中以
%\{RequiredFeatures\}
的形式提供。featuresPreferred
指定要预选的构建和运行工具包。该信息可在向导中找到,网址为
%\{PreferredFeatures\}
。platformIndependent
如果向导支持所有目标平台,则将其设置为 。默认情况下,设置为 。true
false
enabled
进行评估,以确定在检查 之后,向导是否列在 > 或 中。featuresRequired
File New Project New File默认值为
true
。
options
部分包含一个具有键和值属性的对象数组。除预定义变量外,您还可以定义自己的变量,以便在配置和模板源文件中使用。例如,C++ 类创建向导使用以下变量:"options": [ { "key": "TargetPath", "value": "%{Path}" }, { "key": "HdrPath", "value": "%{Path}/%{HdrFileName}" }, { "key": "SrcPath", "value": "%{Path}/%{SrcFileName}" }, { "key": "CN", "value": "%{JS: Cpp.className(value('Class'))}" }, { "key": "Base", "value": "%{JS: value('BaseCB') === '' ? value('BaseEdit') : value('BaseCB')}" }, { "key": "isQObject", "value": "%{JS: (value('Base') === 'QObject' || value('Base') === 'QWidget' || value('Base') === 'QMainWindow' || value('Base') === 'QQuickItem' ) ? 'true' : 'false'}" }, { "key": "GUARD", "value": "%{JS: Cpp.headerGuard(value('HdrFileName'))}" }, { "key": "SharedDataInit", "value": "%{JS: value('IncludeQSharedData') ? 'data(new %{CN}Data)' : '' }" } ],
本节为可选内容。有关变量的更多示例,请参阅其他向导的
wizard.json
文件。pages
部分指定了向导页面。使用的页面取决于向导类型。可以为向导添加标准页面,也可以使用可用的 widget 创建新页面。以下设置指定了页面的显示名称、标题和类型:"pages": [ { "trDisplayName": "Define Class", "trShortTitle": "Details", "typeId": "Fields", "data" : [ { "name": "Class", "trDisplayName": "Class name:", "mandatory": true, "type": "LineEdit", "data": { "trPlaceholder": "Fully qualified name, including namespaces", "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)", "completion": "namespaces" } }, ... ]
typeId
指定要使用的页面:, , , , , , 或 。Fields
File
Form
Kits
Project
VcsConfiguration
VcsCommand
Summary
代码中使用的完整页面 ID 由
typeId
和"PE.Wizard.Page."
前缀组成。有关页面的更多信息,请参阅可用页面。trDisplayName
指定页面标题。默认情况下使用页面标题。trShortTitle
指定向导侧边栏中使用的标题。默认情况下使用页面标题。trSubTitle
指定页面的副标题。默认情况下使用页面标题。index
是一个整数值,用于指定页面 ID。如果不设置,则会自动分配。enabled
设置为 表示显示页面,设置为 表示隐藏页面。仅在创建相应向导时评估一次。true
false
skipForSubprojects
可用于跳过向导的某一页。例如,用于处理构建信息。仅在创建相应向导页面时评估一次。data
指定向导页面。在 C++ 向导中,它指定了 页面和 页面。 页面包含 , , , 和 部件。有关小组件的更多信息,请参阅Fields
Summary
Fields
CheckBox
ComboBox
LineEdit
PathChooser
Spacer
可用小组件。
generators
部分指定了要添加到项目中的文件:"generators": [ { "typeId": "File", "data": [ { "source": "file.h", "target": "%{HdrPath}", "openInEditor": true "options": [ { "key": "Cpp:License:FileName", "value": "%{HdrFileName}" }, { "key": "Cpp:License:ClassName", "value": "%{CN}" } ] }, { "source": "file.cpp", "target": "%{SrcPath}", "openInEditor": true "options": [ { "key": "Cpp:License:FileName", "value": "%{SrcFileName}" }, { "key": "Cpp:License:ClassName", "value": "%{CN}" } ] } ]
typeId
指定生成器的类型。目前只支持 或 。File
Scanner
data
允许进一步配置生成器。
- 以下设置决定了向导的类型及其在New File 对话框中的位置:
向导可用的值
除了从wizard.json
文件本身获取的属性外(请参阅创建向导),Qt Creator 还为所有基于 JSON 的向导提供了一些信息:
WizardDir
是 文件的绝对路径。wizard.json
Features
列出通过 中配置的任何工具包提供的所有功能。Qt CreatorPlugins
当前 实例中运行的所有插件列表。Qt CreatorPlatform
在 > 或 对话框中选择的平台。该值可能为空。File New Project New File
以下信息只有在用户通过Projects 视图中节点的上下文菜单触发向导时才可用:
InitialPath
所选节点的路径。ProjectExplorer.Profile.Ids
为所选节点的项目配置的 Kits 列表。
可用页面
您可以通过在 wizard.json 文件的pages
部分指定预定义页面,将其添加到向导中。
字段页面
字段页面的typeId
值为Field
,具有部件。有关部件定义的更多信息,请参阅可用部件。
"pages": [ { "trDisplayName": "Define Class", "trShortTitle": "Details", "typeId": "Fields", "data" : [ { "name": "Class", "trDisplayName": "Class name:", "mandatory": true, "type": "LineEdit", "data": { "trPlaceholder": "Fully qualified name, including namespaces", "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)", "completion": "namespaces" } }, ... ],
文件页面
文件页面的typeId
值为File
。您可以省略data
关键字或为其分配一个空对象。
{ "trDisplayName": "Location", "trShortTitle": "Location", "typeId": "File" },
页面会评估向导中的InitialFileName
和InitialPath
,以设置初始路径和文件名。页面会将TargetPath
设置为要创建文件的完整路径。
表单页面
表单页面的typeId
值为Form
。可以省略data
关键字或为其分配一个空对象。
{ "trDisplayName": "Choose a Form Template", "trShortTitle": "Form Template", "typeId": "Form" },
页面会将FormContents
设置为包含表单内容的字符串数组。
套件
套件页面的typeId
值为Kits
。Kits 页面的data
部分有一个包含以下设置的对象:
projectFilePath
项目文件路径。requiredFeatures
描述套件必须具备的功能的字符串或对象列表。当找到一个字符串时,必须设置该特征。使用对象时,会检查以下设置:
feature
, 必须是字符串(将扩展所有%\{<VariableName\}
)。condition
,其值必须为true
或false
,可用于从列表中扣除该功能。
preferredFeatures
与 格式相同的列表。任何与 (除 之外)中列出的所有功能相匹配的套件都将在此页面上被预选。requiredFeatures
preferredFeatures
requiredFeatures
{ "trDisplayName": "Kit Selection", "trShortTitle": "Kits", "typeId": "Kits", "data": { "projectFilePath": "%{ProFileName}" } },
该页面评估%\{Platform\}
以设置在File >New Project 或New File 中选择的平台。
注: 该页面会将skipForSubprojects
设置为true
,以便在不需要时抑制该页面,因为子项目会从其父项目中获取这些信息。
项目
项目页面的typeId
值为Project
。trDescription
trDescription
的默认值为%\{trDescription\}
,其中的信息来自wizard.json
文件的trDescription
字段。
{ "trDisplayName": "Project Location", "trShortTitle": "Location", "typeId": "Project", "data": { "trDescription": "A description of the wizard" } },
页面评估InitialPath
以设置初始项目路径。页面会将ProjectDirectory
和TargetPath
设置为项目目录。此外,如果项目被明确添加到另一个项目中,页面会将IsSubproject
设置为 true。在这种情况下,BuildSystem
将被设置为父项目的构建系统。
摘要
摘要页面的typeId
值为Summary
。它没有数据或对象为空。
{ "trDisplayName": "Project Management", "trShortTitle": "Summary", "typeId": "Summary" }
如果是顶层项目,该页面会将IsSubproject
设为false
,否则设为true
。它将VersionControl
设置为正在使用的版本控制系统的 ID。
VcsCommand
VcsCommand 页面运行一组版本控制操作并显示结果。
该页面的data
部分接收一个具有以下键值的对象:
vcsId
使用的版本控制系统的 id。trRunMessage
版本控制运行时要显示的信息。extraArguments
定义传递给版本控制签出命令的额外参数的字符串或字符串列表。repository
从版本控制系统签出的 URL。baseDirectory
执行签出操作的目录。checkoutName
子目录,用于保存签出的数据。extraJobs
定义初始签出后要运行的其他命令的对象列表。这可用于进一步定制版本库,例如添加其他远程版本库或设置版本控制系统的配置变量。每个
extraJob
都由一个对象定义,该对象具有以下设置:skipIfEmpty
如果将其设置为 ,则会自动从要运行的命令中删除空参数。默认为 。true
true
directory
运行命令的工作目录。默认值为 。baseDirectory
command
要运行的命令。arguments
以及要传递给 的参数。command
timeOutFactor
延长长期运行命令的默认超时时间。enabled
将对该参数进行评估,以决定是否实际执行该任务。
VcsConfiguration
VcsConfiguration 页面要求用户配置版本控制系统,只有在配置成功后才会启用Next 按钮。
该页面的data
部分需要一个带有vcsId
关键字的对象。该设置定义了将要配置的版本控制系统。
可用部件
您可以在字段页面中添加以下部件:
- 复选框
- 组合框
- 标签
- 行编辑
- 路径选择器
- 间隔
- 文本编辑
注意: 向导仅支持以下章节中记录的设置。
为每个 widget 指定以下设置:
name
指定 widget 名称。该名称将用作变量名,以便再次访问值。trDisplayName
指定用户界面中可见的标签文本(如果 不是 )。span
true
type
指定 widget 的类型:, , , , , , 以及 。CheckBox
ComboBox
Label
LineEdit
PathChooser
Spacer
TextEdit
trToolTip
指定当鼠标悬停在字段上时显示的工具提示。isComplete
对所有字段进行评估,以决定向导的 按钮是否可用。所有字段的 必须评估为 才能实现。此设置的默认值为 。NextisComplete
true
true
trIncompleteMessage
当字段的 评估结果为 时,将显示"......"。isComplete
false
persistenceKey
使用户的选择具有持久性。该值被视为设置键。如果用户更改了 widget 的默认值,用户的值将被存储,并在下一次运行向导时成为新的默认值。visible
如果 widget 可见,则设置为 ,否则设置为 。默认情况下,设置为 。true
false
true
enabled
如果该 widget 已启用,则设置为 ,否则设置为 。默认情况下,设置为 。true
false
true
mandatory
如果要启用 按钮,该 widget 必须有一个值,则设置为 。默认情况下,设置为 。Nexttrue
true
span
设置为隐藏标签并跨表单。默认情况下,设置为 。更多信息,请参阅false
在向导中使用变量。data
指定特定 widget 类型的其他设置,详见以下章节。
复选框
{ "name": "IncludeQObject", "trDisplayName": "Include QObject", "type": "CheckBox", "data": { "checkedValue": "QObject", "uncheckedValue": "", "checked": "%{JS: value('BaseCB') === 'QObject' ? 'true' : 'false'}" } },
checkedValue
指定启用复选框时要设置的值。默认情况下,设置为 。true
uncheckedValue
复选框指定禁用复选框时要设置的值。默认情况下,设置为 。false
checked
如果复选框已启用,则设置为 ,否则设置为 。true
false
列表
注意: 组合框和图标列表类型都是列表类型的变体,因此它们可以具有相同的属性。
{ "name": "BaseCB", "trDisplayName": "Base class:", "type": "ComboBox", "data": { "items": [ { "trKey": "<Custom>", "value": "" }, "QObject", "QWidget", "QMainWindow", "QQuickItem" ] } },
或
{ "name": "ChosenBuildSystem", "trDisplayName": "Choose your build system:", "type": "IconList", "data": { "items": [ { "trKey": "CMake", "value": "cmake", "icon": "cmake_icon.png", "trToolTip": "Building with CMake." }, { "trKey": "Qbs", "value": "qbs", "icon": "qbs_icon.png", "trToolTip": "Building with Qbs." }, { "trKey": "QMake", "value": "qmake", "icon": "qmake_icon.png", "trToolTip": "Building with QMake." } ] } },
items
指定要放入列表类型的项目列表。列表可以包含 JSON 对象和纯字符串。对于 JSON 对象,可定义 和 对,其中 是用户可见的列表项, 是与该列表项相关的数据。此外,还可以使用 指定列表项的图标,使用 指定列表项的工具提示。trKey
value
trKey
value
icon
trToolTip
index
指定启用列表类型时要选择的索引。默认情况下,它被设置为 。0
disabledIndex
指定禁用列表类型时要显示的索引。
标签
{ "name": "LabelQQC_2_0", "type": "Label", "span": true, "visible": "%{JS: value('CS') === 'QQC_2_0'}", "data": { "wordWrap": true, "trText": "Creates a deployable Qt Quick 2 application using Qt Quick Controls.", } },
wordWrap
设置为 以启用换行。默认情况下,它被设置为 。true
false
trText
显示标签文本。
行编辑
{ "name": "Class", "trDisplayName": "Class name:", "mandatory": true, "type": "LineEdit", "data": { "trPlaceholder": "Fully qualified name, including namespaces", "validator": "(?:(?:[a-zA-Z_][a-zA-Z_0-9]*::)*[a-zA-Z_][a-zA-Z_0-9]*|)", "completion": "namespaces" } }, { "name": "BaseEdit", "type": "LineEdit", "enabled": "%{JS: value('BaseCB') === '' ? 'true' : 'false'}", "mandatory": false, "data": { "trText": "%{BaseCB}", "trDisabledText": "%{BaseCB}", "completion": "classes" } },
trText
指定要显示的可翻译默认文本。text
指定要显示的不可翻译的默认文本。trDisabledText
指定禁用字段中要显示的可翻译文本。disabledText
指定禁用字段中要显示的不可翻译文本。completion
列出类名称行编辑的现有 和基类行编辑的现有 。该值取代了通常用于此类字段的历史记录补全器。namespaces
classes
trPlaceholder
指定可翻译的占位符文本。placeholder
指定不可翻译的占位符文本。validator
指定用于验证行编辑的 。QRegularExpressionfixup
指定用于修正字符串的变量。例如,将行编辑中的第一个字符转为大写。isPassword
是一个布尔值,用于指定行编辑是否有密码,该密码将被屏蔽。historyId
是一个键值,用于指定历史记录补全器的项目列表名称。该值和 是互斥的,因此不要同时设置这两个值。completion
restoreLastHistoryItem
是一个布尔值,用于指定在行编辑中自动将最后一个历史项设置为默认文本。只有同时设置 时,此键才能设为 true。historyId
路径选择器
{ "name": "Path", "type": "PathChooser", "trDisplayName": "Path:", "mandatory": true, "data": { "kind": "existingDirectory", "basePath": "%{InitialPath}", "path": "%{InitialPath}" } },
path
指定所选路径。basePath
指定查找相对的基本路径。kind
定义查找的内容:, , , , , , 或 。existingDirectory
directory
file
saveFile
existingCommand
command
any
间隔
{ "name": "Sp1", "type": "Spacer", "data": { "factor": 2 } },
factor
设置用于指定该间隔乘以布局间距的系数(整数)。
文本编辑
{ "name": "TextField", "type": "TextEdit", "data" : { "trText": "This is some text", "richText": true } }
trText
指定要显示的可翻译文本。text
指定要显示的不可翻译文本。trDisabledText
指定禁用文本编辑时要显示的可翻译文本。disabledText
指定禁用文本编辑时要显示的不可翻译文本。richText
如果是富文本,则设置为 ,否则设置为 。true
false
可用生成器
Qt Creator JSON 向导支持两种不同的生成器。
文件生成器
File
生成器希望在其data
部分有一个对象列表。每个对象定义一个要处理并复制到%\{TargetPath\}
(或任何其他位置)的文件。
每个文件对象可以有以下设置:
source
指定模板文件相对于 文件目录的路径和文件名。wizard.json
如果
source
未设置,则假定target
中给出的文件名是通过其他方式生成的。例如,在从版本控制系统中检查数据后,可以指定正确的文件作为项目打开。target
指定生成文件的位置,可以是绝对位置,也可以是相对于 的位置,通常由某个向导页面设置。%{TargetPath}
openInEditor
如果设置为 ,则在相应的编辑器中打开文件。该设置默认为 。true
false
openAsProject
如果设置为 ,则在 中打开项目文件。此设置默认为 。true
Qt Creatorfalse
isBinary
如果设置为 ,则将文件视为二进制文件,并防止在文件中进行替换。 此设置默认为 。true
false
condition
如果条件返回 ,则生成文件。此设置默认为 。有关详细信息,请参阅true
true
在向导中使用变量。
扫描生成器
Scanner
生成器会扫描%\{TargetPath\}
,并生成在其中找到的所有文件的列表。
Scanner
生成器的data
部分包含一个对象,其设置如下:
binaryPattern
是一个正则表达式,将与找到的所有文件名匹配。任何匹配都将被标记为二进制文件,并跳过该文件的模板替换。此设置默认为空模式,因此不会将任何文件标记为二进制文件。subdirectoryPatterns
是一个正则表达式模式列表。将扫描与这些模式之一匹配的任何目录以及顶层目录。此设置默认为空列表,因此不会扫描子目录。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.