移植与编译CTK框架(Qt敏捷开发高级货)

艾编程的鲁小班 2020-08-18 20:20:36 8452

(一个比设计模式高级又好用的框架)

编译经验:
  1. 系统环境变量,cmake,mingw的路径
  2. cmake版本问题。选择x64位的。
一,下载CKT_Master

https://gitee.com/mirrors/ctk.git

安装CMake

https://cmake.org/

下载CTKData

https://github.com/commontk/CTKData

1>配置cmake

cmake只是一个配置工作,真正编译修改配置编译器。

配置CTK

在 Github - CTK 上下载 CTK 源码,然后解压缩。
使用 Qt Creator 打开 CTK-master/CMakeLists.txt,Kit 选择上面配置的 CMake:


点击“Configure Project”按钮,开始配置项目。

兼容 Qt5

CTKData 错误

在构建 CTK 时,通过底部“编译输出”窗口可以发现,需要从 git 上克隆 CTKData,倘若此过程出现错误:

则可以手动从 CTKData 上下载,然后将 CTKData 放到一个固定的位置(例如:放到 CTK-master 目录中),并在 CTK-master/CMakeExternals/CTKData.cmake 中指定它的位置:

这样,既可以解决错误,也不必担心每次构建时都从网上克隆了。

编译开关控制

如果使用默认配置,有些库/插件是不会生成的,因为它们的开关被设置为 OFF。

所以,要生成 CTKPluginFramework.dll、CTKWidgets.dll(其它库类似),则需要修改 CTK-master/CMakeLists.txt,将它们的开关设置为 ON:

此外,还有一些核心插件也需要手动打开才能生成(例如:EventAdmin,它是插件间通信的核心):

安装

默认情况下,CTK 在编译时是不会自动安装的,打开 CTK-master/SuperBuild.cmake 可以看到:
INSTALL_COMMAND ""

为了便于后续使用,建议加上安装步骤:

编译成功

使用CTKWidgets

简述:

CTKWidgets包含了一组Qt组件,用于生物医学成像应用程序 。
很多的部件具有参考意义

在CTK源码中,有很多选项开关, 以控制你想要编译的内容(详见第四篇:《编译 CTK》),其中就包含了 CTKWidgets。CTKWidgets 的构成

根据 CTKWidgets 文档 描述,CTKWidgets 主要包含 5 部分:

Plans for widgets:收集了所需部件类型的一些想法和示例,包括:通用部件、科学部件、可视化部件、2D/3D 交互式部件、医疗成像部件、特定于应用程序的部件。

Image Gallery:介绍了各个部件及其效果图

Transfer function widgets:介绍了支持 VTK 函数的部件。

Workflow widgets:介绍了工作流相关内容,包括:工作流类、定义工作流的步骤、

ctkWorkflow 的状态图、ctkWorkflowWidget 中的 GUI 实现。

Popup widgets:一个弹出部件,可以在适当时显示,当不想要时,可以隐藏起来。

创建项目

CTKWidgets 库使用起来相当简单,和其他第三方库一样。

工程文件 .pro 如下所示:

QT += core gui widgets

TARGET = UseCTKWidgets

TEMPLATE = app

CTK 安装路径

CTK_INSTALL_PATH = $$PWD/../../CTKInstall

CTK 相关库所在路径(例如:CTKCore.lib、CTKWidgets.lib)

CTK_LIB_PATH = $$CTK_INSTALL_PATH/lib/ctk-0.1

CTK 相关头文件所在路径(例如:ctkPluginFramework.h)

CTK_INCLUDE_PATH = $$CTK_INSTALL_PATH/include/ctk-0.1

相关库文件(CTKCore.lib、CTKWidgets.lib)

LIBS += -L$$CTK_LIB_PATH -lCTKCore -lCTKWidgets

INCLUDEPATH += $$CTK_INCLUDE_PATH

SOURCES += main.cpp

注意: 除了包含库文件之外,还需要包含库相关的路径。由于每个人的安装位置不一样,所以这里的路径可能需要更改。

现在,可以根据 CTKWidgets 中的部件,来实现想要的效果了。

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 2 收藏 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
艾编程的鲁小班
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区