基于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 , 再添加两个DicomView 视图框(直接复制XY的就可以),布局间距改为0;添加完成后保存。

二、DicomView.cpp

...
void DicomView::setHighlight(bool yes)
{
	QPalette p = palette();
	if (yes) p.setColor(QPalette::Text, Qt::magenta);
	else p.setColor(QPalette::Text, Qt::gray);
	setPalette(p);
}
...

三、 DicomBrowse 类

class DicomBrowse : public QMainWindow
{
	public slots:
...
	void on_clickedView(SeriesBase::ViewType);// 在视图上点击鼠标(左右都可以)后执行
...

}
...
DicomBrowse::DicomBrowse(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	isOpeing = false;	
	Rad_G::m_mainWin = this;

	connect(ui.graphicsView_XY, SIGNAL(windowChanged()), this, SLOT(on_windowChanged()));
	
	ui.graphicsView_XY->setHighlight(true);// 本行及后六行新添加
	connect(ui.graphicsView_XZ, SIGNAL(windowChanged()), this, SLOT(on_windowChanged()));
	connect(ui.graphicsView_YZ, SIGNAL(windowChanged()), this, SLOT(on_windowChanged()));

	connect(ui.graphicsView_XY, SIGNAL(clicked(SeriesBase::ViewType)), this, SLOT(on_clickedView(SeriesBase::ViewType)));
	connect(ui.graphicsView_XZ, SIGNAL(clicked(SeriesBase::ViewType)), this, SLOT(on_clickedView(SeriesBase::ViewType)));
	connect(ui.graphicsView_YZ, SIGNAL(clicked(SeriesBase::ViewType)), this, SLOT(on_clickedView(SeriesBase::ViewType)));

	xyS = new XYSeries();
	xzS = new XZSeries();
	yzS = new YZSeries();
}
...
void  DicomBrowse::on_comboBox_which_currentIndexChanged(QString seriesUID)
{
...
	ui.graphicsView_YZ->setSeries(yzS); // 该函数的最后添加这两行
	ui.graphicsView_XZ->setSeries(xzS);
}

void DicomBrowse::on_comboBox_currentIndexChanged(int color)
{
	...
	ui.graphicsView_YZ->updateView();// 在有updateView 的地方都加上XZ 和 YZ
	ui.graphicsView_XZ->updateView();
}
void DicomBrowse::on_lineEdit_ww_textEdited(QString ww)
{
	...
	ui.graphicsView_YZ->updateView();
	ui.graphicsView_XZ->updateView();
}
void DicomBrowse::on_lineEdit_wl_textEdited(QString wl)
{
	...
	ui.graphicsView_YZ->updateView();
	ui.graphicsView_XZ->updateView();
}
...
void DicomBrowse::on_windowChanged()
{
	...
	ui.graphicsView_XY->updateView();
	ui.graphicsView_YZ->updateView();
	ui.graphicsView_XZ->updateView();
}
void DicomBrowse::on_clickedView(SeriesBase::ViewType vt)
{
	switch (vt)
	{
	case SeriesBase::XY:
		ui.graphicsView_XY->setHighlight(true);
		ui.graphicsView_XZ->setHighlight(false);
		ui.graphicsView_YZ->setHighlight(false);
		break;
	case SeriesBase::XZ:
		ui.graphicsView_XY->setHighlight(false);
		ui.graphicsView_XZ->setHighlight(true);
		ui.graphicsView_YZ->setHighlight(false);
		break;
	case SeriesBase::YZ:
		ui.graphicsView_XY->setHighlight(false);
		ui.graphicsView_XZ->setHighlight(false);
		ui.graphicsView_YZ->setHighlight(true);
		break;
	default:
		break;
	}
}
...

至此三视图浏览实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值