新聞中心
CTK框架——CTK Widgets快速入門(mén)
一、CTK Widgets模塊簡(jiǎn)介
1、CTK Widgets模塊簡(jiǎn)介
CTK Widgets模塊是CTK封裝的用于通用功能以及生物醫(yī)學(xué)成像專用領(lǐng)域的Qt組件庫(kù)。
CTK中所有部分都有大量的測(cè)試相關(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è)提供塔什庫(kù)爾干塔吉克網(wǎng)站建設(shè)、塔什庫(kù)爾干塔吉克做網(wǎng)站、塔什庫(kù)爾干塔吉克網(wǎng)站設(shè)計(jì)、塔什庫(kù)爾干塔吉克網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、塔什庫(kù)爾干塔吉克企業(yè)網(wǎng)站模板建站服務(wù),十余年塔什庫(kù)爾干塔吉克做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
2、CTK Widgets構(gòu)成
CTK Widgets模塊主要包含4部分:
A、DICOM Widgets:用于支持醫(yī)學(xué)數(shù)字影像通信(DICOM)領(lǐng)域的應(yīng)用
B、Visualization VTK Widgets:支持VTK的組件
C、Widgets:通用的功能組件
D、XNAT Widgets:支持XNAT的組件
目前只包含一個(gè)類(lèi)ctkXnatLoginDialog。
XNAT是華盛頓大學(xué)神經(jīng)信息學(xué)研究小組開(kāi)發(fā)的開(kāi)源成像信息平臺(tái),最初在華盛頓大學(xué)的巴克納實(shí)驗(yàn)室開(kāi)發(fā),目前由哈佛大學(xué)開(kāi)發(fā)。
二、CTK Widgets快速入門(mén)
1、導(dǎo)入CTK Widgets模塊
CTKWidgets模塊使用與其它第三方庫(kù)一樣。
創(chuàng)建一個(gè)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)庫(kù)所在路徑
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
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
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);
//坐標(biāo)組件
m_ctkCoordinatesWidget = new ctkCoordinatesWidget(this);
//樹(shù)形組合狂
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
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
3、CTK Widgets應(yīng)用編譯結(jié)果
4、CTK Widgets學(xué)習(xí)示例
CTK Widgets測(cè)試代碼位于CTK/Libs/Widgets/Testing/Cpp中,可以作為學(xué)習(xí)示例。
分享文章:CTK框架——CTKWidgets快速入門(mén)
網(wǎng)頁(yè)鏈接:http://www.dlmjj.cn/article/iheipg.html