千家信息网

CTK框架——CTK Widgets快速入门

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,CTK框架--CTK Widgets快速入门一、CTK Widgets模块简介1、CTK Widgets模块简介CTK Widgets模块是CTK封装的用于通用功能以及生物医学成像专用领域的Qt组件库
千家信息网最后更新 2025年01月24日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.h

2、使用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安全错误 数据库的锁怎样保障安全 数据库中加方括号是什么意思 洛阳网络安全保卫大队 温州智淘网络技术有限公司 打印服务器如何共享使用 腾讯云怎么删除数据库表选项 苹果照片流服务器 台州定制软件开发价格行情 湖南郴州安卓软件开发月薪 居民网络安全的问题 部队的计算机网络技术 查看linux服务器ip 寻甸品牌软件开发厂家价格 中小企业安全托管服务器 美元债数据库 北京华为服务器维修费用 工业自动化3d订货软件开发 厦门专业软件开发靠谱公司 科技互联网企业类型 金蝶k3打印凭证附单数据库 网络安全的苦处有哪些 前端服务器怎么样 服务器主机如何关闭无线 mysqli下选择数据库 自学软件开发会什么软件 信阳哪里有计算机网络技术教程 明日之后老服务器该如何赚取金条 医院网站网络安全招标 国际影响力网络安全事件 竹溪互联网软件开发专业服务 向大众普及网络安全工作
0