TreeFrog Framework 开发入门之HelloWorld

系统 1897 0

搭建好 the TreeFrog Framework 的开发环境后,第一时间阅读了在线文档,怀着忐忑之心构建了一个 Hello World 。

官方有一个 初级教程 ,可以参考下。这个教程使用 tspawn 这个 generator 来生成工程模版。tspawn 在生成工程时,默认会根据数据库表来生成 controller 、model 、 view及其他模版化的目录和资源。

我不想用数据库,仅仅想快速体验一下。所以跳过了一个步骤,没有严格按照 初级教程 来做。

我的体验会分两步,第一步先跑起来,看看效果。第二步在第一步的基础上添加一些工程,最终实现一个文件服务器。

首先打开之前创建的 TreeFrog 快捷方式,使用 tspawn 来创建模版工程,执行如下命令 :

    tspawn new fileserver
  
好啦,模板工程构造完成,下图是 tspawn 生成的目录结构:

TreeFrog Framework 开发入门之HelloWorld

按照 初级教程 ,需要创建一个数据库表以便与 Model 关联起来。我这里跳过了,先进入 fileserver 目录,再执行下列命令来生成 controller :

    tspawn controller FileServerController
  
现在这个工程已经可以编译并且运行了:

    qmake -r "CONFIG+=debug"
mingw32-make
treefrogd.exe -e dev
  
试试浏览器访问 http://localhost:8800/fileserver ,会看到一个错误页面 “Page Not Found”。不着急,我们来添加一个 controller 和一个 Action 就可以看到变化了。

当我们访问http://localhost:8800/ ,默认会调用程序注册的 controller 的 action :index() ,所以我们要实现这个 action 。

用 Qt Creator 打开 fileserver目录下的 fileserver.pro 文件,接下来可以添加我们的 controller了。

在 fileserver/controllers 下面添加 fileservercontroller.h/.cpp 两个文件。操作不赘述,上图:

TreeFrog Framework 开发入门之HelloWorld

然后是代码实现。

手动添加 controller ,按照下面的步骤:

  1. 从(框架自动生成的)ApplicationController 派生一个类
  2. 实现一些 public slots 来作为action
  3. 在头文件中用T_DECLARE_CONTROLLER 宏声明一个controller
  4. 在实现文件中用T_REGISTER_CONTROLLER 注册controller

按照上面的步骤,就可以得到下面的源代码,先是 fileservercontroller.h :

    #ifndef FILESERVERCONTROLLER_H
#define FILESERVERCONTROLLER_H
#include "applicationcontroller.h"

class T_CONTROLLER_EXPORT FileServerController : public ApplicationController
{
    Q_OBJECT
public:
    FileServerController(){}
    FileServerController(const FileServerController &other);

public slots:
    void index();
};

T_DECLARE_CONTROLLER(FileServerController, fileservercontroller);

#endif // FILESERVERCONTROLLER_H
  
再看fileservercontroller.cpp :

    #include "fileservercontroller.h"
FileServerController::FileServerController(const FileServerController &other)
    : ApplicationController()
{}

void FileServerController::index()
{
    renderText("Hello World");
}

T_REGISTER_CONTROLLER(fileservercontroller);
  

OK ,大功告成,可以编译执行了:

    qmake -r "CONFIG+=debug"
mingw32-make
treefrogd.exe -e dev
  
浏览器访问 http://localhost:8800/fileserver ,激动人心的时刻来啦:屏幕上出现了 "Hello World" 字样。这正是我们想要的。

如果你想体验完成的 初级教程 ,可以使用 sqlite 来创建数据库表,最新的 sqlite 在 这里下载

我们的第一个示例程序结束,这里面提到的 controller 、 action 概念,可以在 TreeFrog 官网 的文档上查看学习,用到的一些方法,如renderText,来自 TreeFrog Framework,可以参考 在线 API

这个示例仅仅是个玩具,如果想要用 C++ 和 Qt 实现一个有用的 web 程序,还需要进一步研究 the TreeFrog Framework。接下来我会给本示例添加一些内容,实现一个简单的文件服务器。

TreeFrog Framework 开发入门之HelloWorld


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论