×
Namespaces

Variants
Actions

自定义QtCreator工程模板和类模板

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Compatibility
Platform(s):
Symbian
Article
Created: Amazing110 ()
Last edited: hamishwillee (13 Jun 2012)

Contents

Introduction

当我们使用QtCreator进行一个大的项目开发时,也许需要使用一套自己的工程模板,类模板来规范众多开发者的代码规范,同一代码风格,这时候我们就需要在QtCreator中创建自己的类模板或者说工程模板供项目人员使用。那么下面这篇文章就会教大家怎么在QtCreator中创建一个工程模板和类模板。

Summary

下面的例子都是基于Qt Creator 2.3.1.

创建一个工程模板

1> 在目录“\QtCreator\share\qtcreator\templates\wizards\”下,创建一份该目录下“helloworld”文件夹的拷贝,名字可以根据你想创建的工程的类别随意取,比如我们想自定义一个数据库存储相关的工程,我们可以取名“customsql”。

2> 修改“customsql”文件夹下的wizard_sample.xml的文件名为“wizard.xml”,这一步很重要,必须要修改后QtCreator才能识别你的模板。

3> 修改“project.pro”文件,添加如下代码:

%SQLDATABASE%QT += sql
     这是由于我们自定义的是一个关于数据库的工程那么,我们肯定是需要在工程文件中添加如此“CONFIG += sql”配置,那么“%SQLDATABASE%” 又是怎么回事呢?
  我们可以把“%SQLDATABASE%” 当做是“QT += sql”这句代码的别名,我们会在xml文件中进行设定,让开发者在创建工程时,自己选择是否添加此代码到pro文件。

4> 修改“wizard.xml”文件:

  在<field name="NETWORK">   ........        </field>后面添加如下代码:
        <field name="SQLDATABASE">
<fieldcontrol class="QCheckBox" truevalue="" falsevalue="# "/>
<fielddescription>Include sql database module</fielddescription>
</field>
      这样在我们利用此模板创建工程时,在想到中我们就会看到如下的选项:

|Include sql.JPG


当然你也可以向工程中添加更多的文件,这是我们只需要修改xml就可以做到,如下:
        <files>
<file source="main.cpp" openeditor="true"/>
<file source="project.pro" target="%ProjectName%.pro" openproject="true"/>
</files>

完成后,我们在创建工程时就会看到自定义的工程模板,如下图:

Custom project.JPG



创建一个类模板

在目录“\QtCreator\share\qtcreator\templates\wizards\”下,有一个文件名字叫“listmodel”,我们只需要把其中的文件“wizard_sample.xml”修改为“wizard.xml”,然后重启QtCreator就可以在使用了。 下面我们就解析一下这个模板实例: 如图所示:Sql class files.JPG

1> 文件listmodel.cpp和listmodel.h就是你所想添加的新类,可以根据你的需要,从有不同的实现。

2> wizard.xml文件:下面我们仔细解析一下该文件:

下面的代码指定了 类创建向导中的一些属性:

 <wizard version="1" kind="class" id="A.ListModel" category="B.CustomClasses">
 
<description>Creates a QAbstractListModel implementation.</description>
<description xml:lang="de">Erzeugt eine Implementierung von QAbstractListModel.</description>
 
<displayname>QAbstractListModel implementation</displayname>
<displayname xml:lang="de">Implementierung von QAbstractListModel</displayname>
 
<displaycategory>Custom Classes</displaycategory>
<displaycategory xml:lang="de">Benutzerdefinierte Klassen</displaycategory>

下面的代码指定了你需要添加到工程的文件:

 <files>
<file source="listmodel.cpp" target="%ClassName:l%.%CppSourceSuffix%" openeditor="true" />
<file source="listmodel.h" target="%ClassName:l%.%CppHeaderSuffix%" openeditor="true" />
</files>

参考链接

This page was last modified on 13 June 2012, at 13:58.
156 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×