第二章 基於QT和DCMTK的Dicom 圖像瀏覽器---界面設計

由於mitk.net被人惡意搶注, 中科院分子影像重點實驗室的www.mitk.net 改到 www.mitk.net.cn 。

目錄:

開始  《DCMTK(MD版)編譯和安裝+VS2015》

第一章 《DCMTK(MD版)、QT、VS2015編寫Dicom序列瀏覽應用程序-新建項目,配置環境》

第二章 《第二章 基於QT和DCMTK的Dicom 圖像瀏覽器---界面設計》

第三章 《 基於QT和DCMTK的Dicom 圖像瀏覽器---單個Dicom圖像讀取類》

第四章 《基於QT和DCMTK的Dicom 圖像瀏覽器---檢查文件夾下Dicom序列個數》

第五章 《基於QT和DCMTK的Dicom 圖像瀏覽器---Dicom圖像序列類

第六章  《基於QT和DCMTK的Dicom 圖像瀏覽器---Dicom視圖類

第七章  《基於QT和DCMTK的Dicom 圖像瀏覽器---收尾》

一、設置界面

雙擊 DicomBrowse.ui ,打開QT設計師,並設置界面如下圖:

界面文件DicomBrowse.ui 點擊這裏下載,需要使用郵箱註冊個賬號纔可以下載(中國科學院分子影像重點實驗室官網)。

 

二、計劃設計功能

點擊“選擇Dicom文件夾”按鈕,打開DICOM序列,如果當前文件夾下有多個序列,可以通過“選擇序列”下拉菜單選擇右邊的視圖顯示那個序列。

可以通過左邊設置僞彩下拉菜單設置灰度圖像的僞彩色,可以通過窗寬位框設置當前窗寬和位

左邊最下邊信息框,顯示當前序列信息;當移動鼠標時顯示當前像素點信息;

通過滾輪控制顯示序列的哪一張。

 

三、編輯DicomBrowse.h

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_DicomBrowse.h"

class DicomBrowse : public QMainWindow
{
	Q_OBJECT

public:
	DicomBrowse(QWidget *parent = Q_NULLPTR);
	~DicomBrowse();

	public slots:
    // 槽函數爲on_<控件名字>_<信號名>(); Qt 會默認連接<控件名字>的信號<信號名>到這個槽函數,不需要寫connect
	void on_pushButton_clicked();
	void on_comboBox_which_currentIndexChanged(QString);
	void on_comboBox_currentIndexChanged(int);
	void on_lineEdit_ww_textEdited(QString);
	void on_lineEdit_wl_textEdited(QString);

	void set_lineEdit_ww_text(double);
	void set_lineEdit_wl_text(double);

	void setProgressBarValue(int);
	void setPixelInfo(QString);
	void setStatusMessage(QString);

private:
	Ui::DicomBrowseClass ui;
};

 

二、編輯DicomBrowse.cpp

#include "DicomBrowse.h"

DicomBrowse::DicomBrowse(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	
}

DicomBrowse::~DicomBrowse()
{
}

void DicomBrowse::on_pushButton_clicked()
{

}

void  DicomBrowse::on_comboBox_which_currentIndexChanged(QString seriesUID)
{

}

void DicomBrowse::on_comboBox_currentIndexChanged(int color)
{

}

void DicomBrowse::on_lineEdit_ww_textEdited(QString ww)
{
}

void DicomBrowse::on_lineEdit_wl_textEdited(QString wl)
{

}

void DicomBrowse::set_lineEdit_ww_text(double winWidth)
{
	ui.lineEdit_ww->setText(QString::number(winWidth));
}

void DicomBrowse::set_lineEdit_wl_text(double winCenter)
{
	ui.lineEdit_wl->setText(QString::number(winCenter));
}

void DicomBrowse::setProgressBarValue(int progress)
{
	ui.progressBar->setValue(progress);
}

void DicomBrowse::setPixelInfo(QString pixelInfo)
{
	ui.textBrowser->setText(pixelInfo);
}

void DicomBrowse::setStatusMessage(QString message)
{
	ui.statusBar->showMessage(message, 2888);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章