CTK框架——CTKWidgets快速入門

CTK框架——CTK Widgets快速入門

一、CTK Widgets模塊簡介

1、CTK Widgets模塊簡介

CTK Widgets模塊是CTK封裝的用于通用功能以及生物醫(yī)學(xué)成像專用領(lǐng)域的Qt組件庫。
CTK中所有部分都有大量的測試相關(guān)代碼,在源碼目錄下Libs/xxx/Testin/Cpp目錄中。
CTK官方文檔:
http://www.commontk.org/docs/html/modules.html
ImageGallery演示了CTK Widgets模塊大部分組件的效果:
http://www.commontk.org/index.php/Documentation/ImageGallery

成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供塔什庫爾干塔吉克網(wǎng)站建設(shè)、塔什庫爾干塔吉克做網(wǎng)站、塔什庫爾干塔吉克網(wǎng)站設(shè)計、塔什庫爾干塔吉克網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、塔什庫爾干塔吉克企業(yè)網(wǎng)站模板建站服務(wù),十余年塔什庫爾干塔吉克做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

2、CTK Widgets構(gòu)成

CTK Widgets模塊主要包含4部分:
CTK框架——CTK Widgets快速入門
A、DICOM Widgets:用于支持醫(yī)學(xué)數(shù)字影像通信(DICOM)領(lǐng)域的應(yīng)用
CTK框架——CTK Widgets快速入門
B、Visualization VTK Widgets:支持VTK的組件
CTK框架——CTK Widgets快速入門
C、Widgets:通用的功能組件
CTK框架——CTK Widgets快速入門
CTK框架——CTK Widgets快速入門
CTK框架——CTK Widgets快速入門
CTK框架——CTK Widgets快速入門
CTK框架——CTK Widgets快速入門
D、XNAT Widgets:支持XNAT的組件
目前只包含一個類ctkXnatLoginDialog。
XNAT是華盛頓大學(xué)神經(jīng)信息學(xué)研究小組開發(fā)的開源成像信息平臺,最初在華盛頓大學(xué)的巴克納實驗室開發(fā),目前由哈佛大學(xué)開發(fā)。

二、CTK Widgets快速入門

1、導(dǎo)入CTK Widgets模塊

CTKWidgets模塊使用與其它第三方庫一樣。
創(chuàng)建一個QtGUI應(yīng)用并在工程文件中加入CTKWidgets模塊。

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = HelloCTKWidget
TEMPLATE = app

#CTK安裝路徑
CTK_INSTALL_PATH = /usr/local/CTK

#CTK插件相關(guān)庫所在路徑
CTK_LIB_PATH = $$CTK_INSTALL_PATH/lib/ctk-0.1

#CTK插件相關(guān)頭文件所在路徑
CTK_INCLUDE_PATH = $$CTK_INSTALL_PATH/include/ctk-0.1

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

INCLUDEPATH += $$CTK_INCLUDE_PATH 

SOURCES += main.cpp\
        Widget.cpp

HEADERS  += Widget.h

2、使用CTK Widgets模塊中的組件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QGridLayout>

#include <ctkCheckablePushButton.h>
#include <ctkCollapsibleButton.h>
#include <ctkColorPickerButton.h>
#include <ctkRangeWidget.h>
#include <ctkCollapsibleGroupBox.h>
#include <ctkCoordinatesWidget.h>
#include <ctkTreeComboBox.h>
#include <ctkSearchBox.h>
#include <ctkDirectoryButton.h>
#include <ctkCheckableComboBox.h>
#include <ctkMaterialPropertyWidget.h>
#include <ctkMatrixWidget.h>
#include <ctkPathLineEdit.h>

class Widget : public QWidget
{
    Q_OBJECT
public:
    Widget(QWidget *parent = 0)
    {
        m_layout = new QGridLayout(this);
        //復(fù)選按鈕
        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);
        //帶復(fù)選功能的組合框
        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 <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

3、CTK Widgets應(yīng)用編譯結(jié)果

CTK框架——CTK Widgets快速入門

4、CTK Widgets學(xué)習(xí)示例

CTK Widgets測試代碼位于CTK/Libs/Widgets/Testing/Cpp中,可以作為學(xué)習(xí)示例。

本文題目:CTK框架——CTKWidgets快速入門
標題路徑:http://www.muchs.cn/article36/iheipg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器網(wǎng)站內(nèi)鏈、網(wǎng)站策劃做網(wǎng)站、手機網(wǎng)站建設(shè)、網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名