我正在尝试创建一个模板向导,其中项目名称(在“新建项目”对话框中捕获)被转换为小写,并用于生成C++中的不同元素(命名空间、库名称等等)。因此,生成的名称不能包含破折号、以数字开头等。
例如,在wizard.xml中,变量LIBRARYNAME是从用户输入生成的,但它以小写的%ProjectName:l%作为默认值。
使用
是否有可能跳过向导中使用的
到目前为止,我已经尝试了不同的类似 JavaScript 的东西,但没有任何作用,模板向导的文档太简单了,它们没有涵盖这些内容。
现在我的选择是删除表单中的默认文本,但那太糟糕了!我想做一些酷炫的事情,比如从项目名称生成命名空间名称。
例如,在wizard.xml中,变量LIBRARYNAME是从用户输入生成的,但它以小写的%ProjectName:l%作为默认值。
<fieldpagetitle>Project Configuration</fieldpagetitle>
<fields>
<!-- Library name -->
<field mandatory="true" name="LIBRARYNAME">
<fieldcontrol class="QLineEdit" validator='^[^-]+$'
defaulttext="%ProjectName:l%" />
<fielddescription>Name for created library (all lowercase)</fielddescription>
</field>
使用
validator = '^[^-]+$'
正则表达式,我可以防止用户在变量中输入破折号('-'),但是我无法防止他们在设置 %ProjectName%
变量时做相同的操作。是否有可能跳过向导中使用的
%ProjectName%
和/或其他变量中的不需要的符号?例如,在生成 XML 中的 "defaulttext"
时。到目前为止,我已经尝试了不同的类似 JavaScript 的东西,但没有任何作用,模板向导的文档太简单了,它们没有涵盖这些内容。
现在我的选择是删除表单中的默认文本,但那太糟糕了!我想做一些酷炫的事情,比如从项目名称生成命名空间名称。