CTK框架——CTK Widgets快速入门
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,CTK框架--CTK Widgets快速入门一、CTK Widgets模块简介1、CTK Widgets模块简介CTK Widgets模块是CTK封装的用于通用功能以及生物医学成像专用领域的Qt组件库
千家信息网最后更新 2025年12月02日CTK框架——CTK Widgets快速入门
CTK框架--CTK Widgets快速入门
一、CTK Widgets模块简介
1、CTK Widgets模块简介
CTK Widgets模块是CTK封装的用于通用功能以及生物医学成像专用领域的Qt组件库。
CTK中所有部分都有大量的测试相关代码,在源码目录下Libs/xxx/Testin/Cpp目录中。
CTK官方文档:
http://www.commontk.org/docs/html/modules.html
ImageGallery演示了CTK Widgets模块大部分组件的效果:
http://www.commontk.org/index.php/Documentation/ImageGallery
2、CTK Widgets构成
CTK Widgets模块主要包含4部分:
A、DICOM Widgets:用于支持医学数字影像通信(DICOM)领域的应用
B、Visualization VTK Widgets:支持VTK的组件
C、Widgets:通用的功能组件
D、XNAT Widgets:支持XNAT的组件
目前只包含一个类ctkXnatLoginDialog。
XNAT是华盛顿大学神经信息学研究小组开发的开源成像信息平台,最初在华盛顿大学的巴克纳实验室开发,目前由哈佛大学开发。
二、CTK Widgets快速入门
1、导入CTK Widgets模块
CTKWidgets模块使用与其它第三方库一样。
创建一个QtGUI应用并在工程文件中加入CTKWidgets模块。
QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = HelloCTKWidgetTEMPLATE = app#CTK安装路径CTK_INSTALL_PATH = /usr/local/CTK#CTK插件相关库所在路径CTK_LIB_PATH = $$CTK_INSTALL_PATH/lib/ctk-0.1#CTK插件相关头文件所在路径CTK_INCLUDE_PATH = $$CTK_INSTALL_PATH/include/ctk-0.1LIBS += -L$$CTK_LIB_PATH -lCTKCore -lCTKWidgetsINCLUDEPATH += $$CTK_INCLUDE_PATH SOURCES += main.cpp\ Widget.cppHEADERS += Widget.h2、使用CTK Widgets模块中的组件
#ifndef WIDGET_H#define WIDGET_H#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = 0) { m_layout = new QGridLayout(this); //复选按钮 m_ctkCheckableButton = new ctkCheckablePushButton(this); m_ctkCheckableButton->setText("ctkCheckablePushButton"); //可折叠按钮 m_ctkCollapsibleButton = new ctkCollapsibleButton(this); m_ctkCollapsibleButton->setText("ctkCollapsibleButton"); m_layout->addWidget(m_ctkCheckableButton, 0, 0, 1, 2); m_layout->addWidget(m_ctkCollapsibleButton, 0, 2, 1, 2); //颜色拾取器 m_ctkColorPickerButton = new ctkColorPickerButton(this); m_ctkColorPickerButton->setText("ctkColorPickerButton"); //滑块 m_ctkRangeWidget = new ctkRangeWidget(this); m_layout->addWidget(m_ctkColorPickerButton, 1, 0, 1, 2); m_layout->addWidget(m_ctkRangeWidget, 1, 2, 1, 2); //分组框 m_ctkCollapsibleGroupBox = new ctkCollapsibleGroupBox(this); m_ctkCollapsibleGroupBox->setTitle("GroupBox"); m_layout->addWidget(m_ctkCollapsibleGroupBox, 3, 0, 3, 4); //坐标组件 m_ctkCoordinatesWidget = new ctkCoordinatesWidget(this); //树形组合狂 m_ctkTreeComboBox = new ctkTreeComboBox(this); m_ctkTreeComboBox->addItems(QStringList() << "A" << "B"); m_layout->addWidget(m_ctkCoordinatesWidget, 6, 0, 1, 2); m_layout->addWidget(m_ctkTreeComboBox, 6, 2, 1, 2); //搜索框 m_ctkSearchBox = new ctkSearchBox(this); //目录按钮 m_ctkDirectoryButton = new ctkDirectoryButton(this); m_layout->addWidget(m_ctkSearchBox, 7, 0, 1, 2); m_layout->addWidget(m_ctkDirectoryButton, 7, 2, 1, 2); //带复选功能的组合框 m_ctkCheckableComboBox = new ctkCheckableComboBox(this); m_ctkCheckableComboBox->addItems(QStringList() << "A" << "B"); //路径行编辑框 m_ctkPathLineEdit = new ctkPathLineEdit(this); m_ctkPathLineEdit->addCurrentPathToHistory(); m_layout->addWidget(m_ctkCheckableComboBox, 8, 0, 1, 2); m_layout->addWidget(m_ctkPathLineEdit, 8, 2, 1, 2); //材料属性组件 m_ctkMaterialPropertyWidget = new ctkMaterialPropertyWidget(this); //矩阵组件 m_ctkMatrixWidget = new ctkMatrixWidget(this); m_layout->addWidget(m_ctkMaterialPropertyWidget, 9, 0, 1, 2); m_layout->addWidget(m_ctkMatrixWidget, 9, 2, 1, 2); setLayout(m_layout); }private: QGridLayout* m_layout; ctkCheckablePushButton* m_ctkCheckableButton; ctkCollapsibleButton* m_ctkCollapsibleButton; ctkColorPickerButton* m_ctkColorPickerButton; ctkRangeWidget* m_ctkRangeWidget; ctkCollapsibleGroupBox* m_ctkCollapsibleGroupBox; ctkCoordinatesWidget* m_ctkCoordinatesWidget; ctkTreeComboBox* m_ctkTreeComboBox; ctkSearchBox* m_ctkSearchBox; ctkDirectoryButton* m_ctkDirectoryButton; ctkCheckableComboBox* m_ctkCheckableComboBox; ctkMaterialPropertyWidget* m_ctkMaterialPropertyWidget; ctkMatrixWidget* m_ctkMatrixWidget; ctkPathLineEdit* m_ctkPathLineEdit;};#endif // WIDGET_H #include "Widget.h"#include int main(int argc, char *argv[]){ QApplication a(argc, argv); Widget w; w.show(); return a.exec();} 3、CTK Widgets应用编译结果
4、CTK Widgets学习示例
CTK Widgets测试代码位于CTK/Libs/Widgets/Testing/Cpp中,可以作为学习示例。
模块
组件
功能
按钮
目录
路径
应用
开发
支持
代码
信息
医学
所在
插件
文件
示例
简介
部分
领域
华盛顿大学
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器错误怎么回事啊
数据库设置两个表
东莞汇弘网络技术公司
charls中文数据库
怀仁市公安局网络安全大队长
服务器配置远程管理口
服务器华为的和inter的比较
一体四翼确保网络安全
服务器 奥杜尔
c612服务器的集成显卡是哪种
软件开发网络进度计划
网络安全防诈
西安软件开发公司图片
1433端口登陆数据库
网络安全员是做什么工作的
服务器地址盒套什么定额
每个数据库的sql语句
国内大学编程软件开发
软件开发模型选择方法
郑州网络安全宣传结束了吗
王者荣耀能互转服务器吗
网络安全审计厂商
服务器和云计算共同点
悦想网络技术有限公司怎么样
数据库管理方式的缺点
学软件开发需要什么样的电脑
船舶配载仪软件开发公司
网络技术与应用读书报告
网维 服务器
数据库结构分为三种