• 5191阅读
  • 1回复

[提问]在制作Qt项目模板的时候,怎么样通过复选框来选择需要的文件? [复制链接]

上一主题 下一主题
离线ppdayz
 

只看楼主 倒序阅读 楼主  发表于: 2013-05-01
在制作Qt项目模板的时候,怎么样通过复选框来选择需要的文件?
如题,我做了一个Qt项目的模板(关于项目的模板可以参考:http://doc.qt.digia.com/qtcreator/creator-project-wizards.html
然后新建项目的时候有选项:log4qt module,如图:

我是想当这个checkbox选中的时候,创建的项目才会把log4qt的项目文件都复制到新的项目文件夹里面,
就和qt的默认的这个GUI项目一样,你选了创建界面,才会有UI文件。
wizard.xml里面怎么写?
离线ppdayz

只看该作者 1楼 发表于: 2013-05-01
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. /****************************************************************************
  4. **
  5. ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
  6. ** Contact: [url]http://www.qt-project.org/legal[/url]
  7. **
  8. ** This file is part of Qt Creator.
  9. **
  10. ** Commercial License Usage
  11. ** Licensees holding valid commercial Qt licenses may use this file in
  12. ** accordance with the commercial license agreement provided with the
  13. ** Software or, alternatively, in accordance with the terms contained in
  14. ** a written agreement between you and Digia.  For licensing terms and
  15. ** conditions see [url]http://qt.digia.com/licensing[/url].  For further information
  16. ** use the contact form at [url]http://qt.digia.com/contact-us[/url].
  17. **
  18. ** GNU Lesser General Public License Usage
  19. ** Alternatively, this file may be used under the terms of the GNU Lesser
  20. ** General Public License version 2.1 as published by the Free Software
  21. ** Foundation and appearing in the file LICENSE.LGPL included in the
  22. ** packaging of this file.  Please review the following information to
  23. ** ensure the GNU Lesser General Public License version 2.1 requirements
  24. ** will be met: [url]http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html[/url].
  25. **
  26. ** In addition, as a special exception, Digia gives you certain additional
  27. ** rights.  These rights are described in the Digia Qt LGPL Exception
  28. ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
  29. **
  30. ****************************************************************************/
  31. Custom project wizard configuration example file. Note that by convention,
  32. the project file goes last.
  33. The "class" and "firstpage" attributes specify that it is a Qt 4 wizard and
  34. leave room for the Qt 4 target page.
  35. -->
  36. <wizard version="1" kind="project"
  37.         class="qt4project" firstpage="10"
  38.         id="A.PuYZ_APP" category="B.CustomProjects">
  39.     <icon>console.png</icon>
  40.     <description>Create a universal GUI program, Include a few third-party libraries.
  41.     It's a Qt subdir project, include the APP, APPLibs and Third-party libs</description>
  42.     <displayname>PuYZ Full Application</displayname>;
  43.     <displaycategory>Puyz Projects</displaycategory>
  44.     <files>
  45.         <file source="projectAPP\main.cpp" target="%ProjectName%App\main.cpp" openeditor="true"/>
  46.         <file source="projectAPP\projectApp.pro" target="%ProjectName%App\%ProjectName%App.pro" />
  47.         <file source="projectAPP\output.pri" target="%ProjectName%App\output.pri" />
  48.         <file source="projectAPP\properties" target="%ProjectName%App\properties" />
  49.         <file source="project.pro" target="%ProjectName%.pro" openproject="true" />
  50.         <!-- Log4qt -->
  51.         <file source="libLog4Qt\liblog4qt.pri" />
  52.         <file source="libLog4Qt\liblog4qt.pro" />
  53.         <!-- ThirdParty log4qt -->
  54.         <file source="ThirdParty\log4qt\appender.h" />
  55.         <file source="ThirdParty\log4qt\appenderskeleton.cpp" />
  56.         <file source="ThirdParty\log4qt\appenderskeleton.h" />
  57.         <file source="ThirdParty\log4qt\basicconfigurator.cpp" />
  58.         <file source="ThirdParty\log4qt\basicconfigurator.h" />
  59.         <file source="ThirdParty\log4qt\consoleappender.cpp" />
  60.         <file source="ThirdParty\log4qt\consoleappender.h" />
  61.         <file source="ThirdParty\log4qt\dailyrollingfileappender.cpp" />
  62.         <file source="ThirdParty\log4qt\dailyrollingfileappender.h" />
  63.         <file source="ThirdParty\log4qt\fileappender.cpp" />
  64.         <file source="ThirdParty\log4qt\fileappender.h" />
  65.         <file source="ThirdParty\log4qt\hierarchy.cpp" />
  66.         <file source="ThirdParty\log4qt\hierarchy.h" />
  67.         <file source="ThirdParty\log4qt\layout.cpp" />
  68.         <file source="ThirdParty\log4qt\layout.h" />
  69.         <file source="ThirdParty\log4qt\level.cpp" />
  70.         <file source="ThirdParty\log4qt\level.h" />
  71.         <file source="ThirdParty\log4qt\libLog4Qt_global.h" />
  72.         <file source="ThirdParty\log4qt\log4qt.cpp" />
  73.         <file source="ThirdParty\log4qt\log4qt.h" />
  74.         <file source="ThirdParty\log4qt\log4qt.pri" />
  75.         <file source="ThirdParty\log4qt\logger.cpp" />
  76.         <file source="ThirdParty\log4qt\logger.h" />
  77.         <file source="ThirdParty\log4qt\loggerrepository.cpp" />
  78.         <file source="ThirdParty\log4qt\loggerrepository.h" />
  79.         <file source="ThirdParty\log4qt\loggingevent.cpp" />
  80.         <file source="ThirdParty\log4qt\loggingevent.h" />
  81.         <file source="ThirdParty\log4qt\logmanager.cpp" />
  82.         <file source="ThirdParty\log4qt\logmanager.h" />
  83.         <file source="ThirdParty\log4qt\mdc.cpp" />
  84.         <file source="ThirdParty\log4qt\mdc.h" />
  85.         <file source="ThirdParty\log4qt\ndc.cpp" />
  86.         <file source="ThirdParty\log4qt\ndc.h" />
  87.         <file source="ThirdParty\log4qt\patternlayout.cpp" />
  88.         <file source="ThirdParty\log4qt\patternlayout.h" />
  89.         <file source="ThirdParty\log4qt\propertyconfigurator.cpp" />
  90.         <file source="ThirdParty\log4qt\propertyconfigurator.h" />
  91.         <file source="ThirdParty\log4qt\rollingfileappender.cpp" />
  92.         <file source="ThirdParty\log4qt\rollingfileappender.h" />
  93.         <file source="ThirdParty\log4qt\simplelayout.cpp" />
  94.         <file source="ThirdParty\log4qt\simplelayout.h" />
  95.         <file source="ThirdParty\log4qt\ttcclayout.cpp" />
  96.         <file source="ThirdParty\log4qt\ttcclayout.h" />
  97.         <file source="ThirdParty\log4qt\writerappender.cpp" />
  98.         <file source="ThirdParty\log4qt\writerappender.h" />
  99.         <file source="ThirdParty\log4qt\helpers\classlogger.cpp" />
  100.         <file source="ThirdParty\log4qt\helpers\classlogger.h" />
  101.         <file source="ThirdParty\log4qt\helpers\configuratorhelper.cpp" />
  102.         <file source="ThirdParty\log4qt\helpers\configuratorhelper.h" />
  103.         <file source="ThirdParty\log4qt\helpers\datetime.cpp" />
  104.         <file source="ThirdParty\log4qt\helpers\datetime.h" />
  105.         <file source="ThirdParty\log4qt\helpers\factory.cpp" />
  106.         <file source="ThirdParty\log4qt\helpers\factory.h" />
  107.         <file source="ThirdParty\log4qt\helpers\initialisationhelper.cpp" />
  108.         <file source="ThirdParty\log4qt\helpers\initialisationhelper.h" />
  109.         <file source="ThirdParty\log4qt\helpers\logerror.cpp" />
  110.         <file source="ThirdParty\log4qt\helpers\logerror.h" />
  111.         <file source="ThirdParty\log4qt\helpers\logobject.cpp" />
  112.         <file source="ThirdParty\log4qt\helpers\logobject.h" />
  113.         <file source="ThirdParty\log4qt\helpers\logobjectptr.cpp" />
  114.         <file source="ThirdParty\log4qt\helpers\logobjectptr.h" />
  115.         <file source="ThirdParty\log4qt\helpers\optionconverter.cpp" />
  116.         <file source="ThirdParty\log4qt\helpers\optionconverter.h" />
  117.         <file source="ThirdParty\log4qt\helpers\patternformatter.cpp" />
  118.         <file source="ThirdParty\log4qt\helpers\patternformatter.h" />
  119.         <file source="ThirdParty\log4qt\helpers\properties.cpp" />
  120.         <file source="ThirdParty\log4qt\helpers\properties.h" />
  121.         <file source="ThirdParty\log4qt\spi\filter.cpp" />
  122.         <file source="ThirdParty\log4qt\spi\filter.h" />
  123.         <file source="ThirdParty\log4qt\varia\debugappender.cpp" />
  124.         <file source="ThirdParty\log4qt\varia\debugappender.h" />
  125.         <file source="ThirdParty\log4qt\varia\denyallfilter.cpp" />
  126.         <file source="ThirdParty\log4qt\varia\denyallfilter.h" />
  127.         <file source="ThirdParty\log4qt\varia\levelmatchfilter.cpp" />
  128.         <file source="ThirdParty\log4qt\varia\levelmatchfilter.h" />
  129.         <file source="ThirdParty\log4qt\varia\levelrangefilter.cpp" />
  130.         <file source="ThirdParty\log4qt\varia\levelrangefilter.h" />
  131.         <file source="ThirdParty\log4qt\varia\listappender.cpp" />
  132.         <file source="ThirdParty\log4qt\varia\listappender.h" />
  133.         <file source="ThirdParty\log4qt\varia\nullappender.cpp" />
  134.         <file source="ThirdParty\log4qt\varia\nullappender.h" />
  135.         <file source="ThirdParty\log4qt\varia\stringmatchfilter.cpp" />
  136.         <file source="ThirdParty\log4qt\varia\stringmatchfilter.h" />
  137.         <!-- ThirdParty log4qt -->
  138.     </files>
  139.     <!-- Create a 2nd wizard page with parameters -->
  140.     <fieldpagetitle>Hello World Parameters</fieldpagetitle>
  141.     <fieldpagetitle xml:lang="de">Hallo Welt Parameter</fieldpagetitle>
  142.     <fields>
  143.         <field mandatory="true" name="MESSAGE">
  144.             <fieldcontrol class="QLineEdit" validator='^[^"]+$'
  145.                           defaulttext="Hello world from project  '%ProjectName:c%'!" />
  146.             <fielddescription>Hello world message:</fielddescription>
  147.             <fielddescription xml:lang="de">Hallo-Welt-Nachricht:</fielddescription>
  148.         </field>
  149. <!-- Checkbox technique 1: Comment out network in profile according to user's wishes -->
  150.         <field name="LOG4QT">
  151.             <fieldcontrol class="QCheckBox" truevalue="true" falsevalue="# " defaultvalue="true"/>
  152.             <fielddescription>log4Qt module</fielddescription>
  153.         </field>
  154.     </fields>
  155. </wizard>
这个是我的wizard.xml
快速回复
限100 字节
 
上一个 下一个