资源简介

这是一个Qt帮助文档中的一个示例,类向导,我的博客中有一些要注意的问题,是在Windows下用Qt5做的 博客地址:http://blog.csdn.net/solomon5926/article/details/8696912

资源截图

代码片段和文件信息

/*
    2013年3月19日17:57:11
*/

#include 

#include “classwizard.h“

ClassWizard::ClassWizard(QWidget *parent)
    :QWizard(parent)
{
    addPage(new IntroPage);
    addPage(new ClassInfoPage);
    addPage(new CodestylePage);
    addPage(new OutoutFilesPage);
    addPage(new ConclusionPage);

    setPixmap(QWizard::BannerPixmap QPixmap(“:/images/banner.png“));
    setPixmap(QWizard::BackgroundPixmap QPixmap(“:/images/backgroud.png“));

    setWindowtitle(tr(“Class Wizard“));
}

void ClassWizard::accept()
{
    QByteArray className = field(“className“).toByteArray();
    QByteArray baseClass = field(“baseClass“).toByteArray();
    QByteArray macroName = field(“macroName“).toByteArray();
    QByteArray baseInclude = field(“baseInclude“).toByteArray();

    QString outputDir = field(“outputDir“).toString();
    QString header = field(“header“).toString();
    QString implementation = field(“implementation“).toString();

    QByteArray block;

    if (field(“comment“).toBool())
    {
        block += “/*\n“;
        block += “    “ + header.toLatin1() + “\n“;
        block += “*/\n“;
        block += “\n“;
    }

    if (field(“protect“).toBool())
    {
        block += “#ifndef“ + macroName + “\n“;
        block += “#define“ + macroName + “\n“;
        block += “\n“;
    }

    if (field(“includebase“).toBool())
    {
        block += “#include“ + baseInclude + “\n“;
        block += “\n“;
    }

    block += “class“ + className;
    if (!baseClass.isEmpty())
    {
        block += “:public“ + baseClass;
    }
    block += “\n“;
    block += “{\n“;

    /*qmake ignoreQ_object*/

    if (field(“qobjectMacro“).toBool())
    {
        block += “   Qobject\n“;
        block += “\n“;
    }

    block += “public:\n“;

    if (field(“qobjectCtor“).toBool())
    {
        block += “   Q_OBECT\n“;
        block += “\n“;
    }
    block += “public:\n“;

    if (field(“qobjectCtor“).toBool())
    {
        block += “   “ + className + “(Qobject *parent = 0);\n“;

    }
    else if (field(“qwidgetCtor“).toBool())
    {
        block += “   “ + className + “(QWidget *parent = 0);\n“;

    }
    else if (field(“defaultCtor“).toBool())
    {
        block += “   “ + className + “();\n“;
        if (field(“copyCtor“).toBool())
        {
            block += “   “ + className + “(const“+className+“&other);\n“;
            block += “\n“;
            block += “   “ + className + “&operator=“+“(const“+className+“&other);\n“;
        }
    }
    block += “};\n“;

    if (field(“protect“).toBool())
    {
        block += “\n“;
        block += “#endif\n“;
    }

    QFile headerFile(outputDir + “/“ + header);
    if (!headerFile.open(QFile::WriteOnly | QFile::Text))
    {
        QMessageBox::warning(0 Qobject::tr(“Simple Wizard“)
                             Qobject::tr(“Cannot write file %1:\n%2“)
                             .arg(headerFile.f

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-03-21 16:32  ClassWizardExample2\
     文件       13444  2013-03-20 12:10  ClassWizardExample2\classwizard.cpp
     文件        1956  2013-03-20 12:00  ClassWizardExample2\classwizard.h
     文件         329  2013-03-20 15:49  ClassWizardExample2\classwizard.qrc
     文件           0  2013-03-20 12:16  ClassWizardExample2\classwizard.qrc.bak
     文件         698  2013-03-20 16:02  ClassWizardExample2\ClassWizardExample2.pro
     文件         379  2013-03-20 16:02  ClassWizardExample2\ClassWizardExample2.pro.bak
     文件       17276  2013-03-20 16:01  ClassWizardExample2\ClassWizardExample2.pro.user
     目录           0  2013-03-21 16:32  ClassWizardExample2\debug\
     文件      472151  2013-03-20 12:11  ClassWizardExample2\debug\classwizard.o
     文件           6  2013-03-20 15:48  ClassWizardExample2\debug\classwizard.qrc.bak
     文件      942432  2013-03-20 16:03  ClassWizardExample2\debug\ClassWizardExample2.exe
     文件      148783  2013-03-20 12:11  ClassWizardExample2\debug\main.o
     文件       12112  2013-03-20 12:11  ClassWizardExample2\debug\moc_classwizard.cpp
     文件      183801  2013-03-20 12:11  ClassWizardExample2\debug\moc_classwizard.o
     文件       98626  2013-03-20 16:03  ClassWizardExample2\debug\qrc_classwizard.cpp
     文件       27998  2013-03-20 16:03  ClassWizardExample2\debug\qrc_classwizard.o
     目录           0  2013-03-21 16:32  ClassWizardExample2\images\
     文件        6280  2013-03-20 15:46  ClassWizardExample2\images\background.png
     文件        3197  2013-03-20 15:50  ClassWizardExample2\images\banner.png
     文件        1789  2013-03-20 15:51  ClassWizardExample2\images\logo1.png
     文件        1789  2013-03-20 15:51  ClassWizardExample2\images\logo2.png
     文件        1789  2013-03-20 15:51  ClassWizardExample2\images\logo3.png
     文件        1789  2013-03-20 15:51  ClassWizardExample2\images\watermark1.png
     文件        1789  2013-03-20 15:51  ClassWizardExample2\images\watermark2.png
     文件         734  2013-03-20 11:55  ClassWizardExample2\main.cpp
     文件       12348  2013-03-20 16:03  ClassWizardExample2\Makefile
     文件       52942  2013-03-20 16:02  ClassWizardExample2\Makefile.Debug
     文件       53032  2013-03-20 16:03  ClassWizardExample2\Makefile.Release
     目录           0  2013-03-19 23:13  ClassWizardExample2\release\
     目录           0  2013-03-21 16:32  ClassWizardExample2\成果截图\
............此处省略5个文件信息

评论

共有 条评论