Add 3D MPR entrance.

This commit is contained in:
Krad
2022-12-13 09:46:57 +08:00
parent 46d22eacd7
commit fe07a9214c
4 changed files with 26 additions and 2 deletions

View File

@@ -251,6 +251,15 @@ QSlider::handle:horizontal:disabled
} }
VolumeRenderingWindow#volumeWin{ VolumeRenderingWindow#volumeWin{
border:1px solid #cdcdcd; border:1px solid #5a5a5a;
border-top:1px solid #333333; border-top:1px solid #333333;
}
MPRResliceWindow#MPRWin{
border:1px solid #5a5a5a;
border-top:1px solid #333333;
}
QSplitter::handle {
background: #5a5a5a;
} }

View File

@@ -421,6 +421,8 @@ void DefaultToolBar::initMPRButton(){
mBtnMPR->setToolTip(QString("MPR")); mBtnMPR->setToolTip(QString("MPR"));
QMenu *m = new QMenu(this); QMenu *m = new QMenu(this);
auto group = new QActionGroup(this); auto group = new QActionGroup(this);
auto actionMPR= m->addAction(tr("3D MPR"));
m->addSeparator();
auto actionCoronal = m->addAction(tr("Coronal")); auto actionCoronal = m->addAction(tr("Coronal"));
auto actionSagittal =m->addAction(tr("Sagittal")); auto actionSagittal =m->addAction(tr("Sagittal"));
auto actionAxial = m->addAction(tr("Axial")); auto actionAxial = m->addAction(tr("Axial"));
@@ -428,9 +430,12 @@ void DefaultToolBar::initMPRButton(){
actionSagittal->setCheckable(true); actionSagittal->setCheckable(true);
actionAxial->setCheckable(true); actionAxial->setCheckable(true);
connect(actionMPR, &QAction::triggered,[=](){
emit requestMPR();
});
connect(group, &QActionGroup::triggered, this, [=](QAction* action) { connect(group, &QActionGroup::triggered, this, [=](QAction* action) {
for (int i = 0; i < 3; ++i) { for (int i = 0; i < 3; ++i) {
if (m->actions()[i]==action){ if (m->actions()[i]==action) {
emit changeReconPlane(i); emit changeReconPlane(i);
return; return;
} }

View File

@@ -42,6 +42,7 @@ signals:
void transform(TransFormType type); void transform(TransFormType type);
void showMeta(); void showMeta();
void volumeRendering(); void volumeRendering();
void requestMPR();
void referenceLineStateChange(bool isShow); void referenceLineStateChange(bool isShow);
private: private:
QAction *addButton(QToolButton *button, const char *objectName); QAction *addButton(QToolButton *button, const char *objectName);

View File

@@ -14,6 +14,7 @@
#include "UI/Manager/ImageViewManager.h" #include "UI/Manager/ImageViewManager.h"
#include "UI/Widget/Component/gridpopwidget.h" #include "UI/Widget/Component/gridpopwidget.h"
#include "UI/Window/VolumeRenderingWindow.h" #include "UI/Window/VolumeRenderingWindow.h"
#include "UI/Window/MPRResliceWindow.h"
#include "UI/Widget/cine/pqVCRToolbar.h" #include "UI/Widget/cine/pqVCRToolbar.h"
@@ -176,6 +177,14 @@ void QDicomViewer::initViewOperation() {
} }
}); });
// MPR // MPR
connect(ui->toolBar, &DefaultToolBar::requestMPR,[=](){
auto mprWin = new MPRResliceWindow(this);
connect(mprWin,&QDialog::finished,[=](){
mprWin->deleteLater();
});
mprWin->show();
mprWin->loadData(ui->viewContainer->getViewManager()->getCurrentView()->getSeriesInstance());
});
connect(ui->toolBar, &DefaultToolBar::changeReconPlane, connect(ui->toolBar, &DefaultToolBar::changeReconPlane,
ui->viewContainer->getViewManager(), &ImageViewManager::changeReconPlane); ui->viewContainer->getViewManager(), &ImageViewManager::changeReconPlane);
connect(ui->toolBar, &DefaultToolBar::volumeRendering,[=](){ connect(ui->toolBar, &DefaultToolBar::volumeRendering,[=](){