搭建好 the TreeFrog Framework 的开发环境后,第一时间阅读了在线文档,怀着忐忑之心构建了一个 Hello World 。
官方有一个初级教程,可以参考下。这个教程使用 tspawn 这个 generator 来生成工程模版。tspawn 在生成工程时,默认会根据数据库表来生成 controller 、model 、 view及其他模版化的目录和资源。
我不想用数据库,仅仅想快速体验一下。所以跳过了一个步骤,没有严格按照初级教程来做。
我的体验会分两步,第一步先跑起来,看看效果。第二步在第一步的基础上添加一些工程,最终实现一个文件服务器。
首先打开之前创建的 TreeFrog 快捷方式,使用 tspawn 来创建模版工程,执行如下命令 :
tspawn new fileserver
好啦,模板工程构造完成,下图是 tspawn 生成的目录结构:
按照初级教程,需要创建一个数据库表以便与 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 两个文件。操作不赘述,上图:
然后是代码实现。
手动添加 controller ,按照下面的步骤:
- 从(框架自动生成的)ApplicationController 派生一个类
- 实现一些 public slots 来作为action
- 在头文件中用T_DECLARE_CONTROLLER 宏声明一个controller
- 在实现文件中用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是基于C ++和Qt的高速,全栈Web应用程序框架,支持HTTP和WebSocket协议。 Web应用程序可以比轻量级编程语言更快地运行。 在应用程序开发中,它提供了基于MVC架构的O / R映射系统和模板系统,旨在...
TreeFrog Framework是基于C ++和Qt的高速,全栈Web应用程序框架,支持HTTP和WebSocket协议。 Web应用程序的运行速度比轻量级编程语言的运行速度更快。 在应用程序开发中,它提供了基于MVC架构的O / R映射系统和模板...
TreeFrog Framework - 高速和完整的web应用程序框架基于C 和Qt实现。支持HTTP和WebSocket协议(包含O/R映射)。
Treefrog
是一个高速的全堆栈的 Web 应用开发框架,基于 C++ 和 Qt
介绍欢迎使用Treefrog手册! 本手册旨在替代大多数公司提供的经典(法律要求)的“员工手册”。 但是,按照Treefrog的方式,这本手册旨在解决一个必要的问题:使每个人在同一页面上朝同一方向划船,而没有Damoclean...
爱尔兰机场API 该应用程序将允许用户检索爱尔兰各个机场的出发和到达数据。 通过与适用于C ++的AWS开发工具包集成并使用TreeFrog Framework,从实例化服务器和数据库实例到运行API,仅使用C ++就可以设置此项目。
基于Qt库和TreeFrog MVC框架的web应用,支持Windows、Mac OS X、Linux平台 用法说明 1、安装Qt5,说明文档 2、安装TreeFrog,说明文档 3、安装数据库服务器,建议使用MySQL 4、下载CMS代码 5、配置数据库 运行CMS....