Qt+Cutelyst学习笔记(十二)win10 + Qt5.15.2 使用视图和模板

前言:

上一篇编译好了grantlee视图插件,本篇记录下这个插件的测试过程

一、创建CUTELYST项目

找一个空白目录,注意不能有中文或空格,执行如下命令

#windows下执行
cutelyst3-qt5.exe --create-app hello

#linux下执行
cutelyst3-qt5 --create-app hello

二、修改源码并编译

使用QtCreator打开并配置工程,

1.修改src/CMakeLists.txt工程

target_link_libraries(Hello
    ...
    Cutelyst::View::Grantlee # Add this line
    ...
}

2.创建Grantlee视图

修改src/hello.cpp

...
#include 
...
bool Hello::init()
{
    ...
    new GrantleeView(this);
    ...
}

在src/root.h中,加入如下公有函数

C_ATTR(hello, :Global)
void hello(Context *c);

在src/root.cpp中,添加实现

void Root::hello(Context *c)
{
    c->setStash("template", "hello.html");
}

添加完成后,直接编译,可以得到生成的动态库

windows下是hello.dll

linux下是libhello.so

二、运行新的动态库

创建一个root/hello.html模板文件。以下是一个简单的示例:


This is a Grantlee view template, called '{{ template }}'.

设置好环境变量,执行如下命令

#windows下执行
cutelyst3-qt5.exe --server --app-file src/hello -- --chdir ..

#linux下执行
cutelyst3-qt5 -r --server --app-file src/hello -- --chdir ..


#--app-file 后的参数是应用程序(dll库)的位置,请读者自行修改
#注:可以省略dll扩展名

注:可以省略应用程序后缀,如.so, .dll, .dylib,因为它会自动查找带有适当后缀的文件。

注:--chdir 后面的参数,是root所在的目录,使用影子编译的小伙伴要注意下,一定要放对参数

运行后,打开本地浏览器,输入 http://localhost:3000/hello,显示如下

 命令行输出如下

Qt+Cutelyst学习笔记(十二)win10 + Qt5.15.2 使用视图和模板_第1张图片

 至此,本次测试完成

 本次测试示例源码下载

后记

笔者对这个模板没什么研究,若是有时间,会研究下,下一篇继续探究

你可能感兴趣的:(Qt+web后台开发,qt,cutelyst3)