• 4502阅读
  • 0回复

[提问]求纠错!!一个很简单的图片翻页的程序。。 [复制链接]

上一主题 下一主题
离线zxrbbbb
 
只看楼主 倒序阅读 楼主  发表于: 2012-12-28
qt+vtk,读入一个图片序列,想通过滑动滑条让显示的图片翻页。但是滑动滑条之后没反应,不知道哪里错了,,初学感觉有点难!!望帮忙!

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "vtkDICOMImageReader.h"
#include "QVTKWidget.h"
#include "vtkRenderer.h"
#include "vtkRenderWindow.h"
#include "vtkImageViewer2.h"
#include "vtkInteractorStyleImage.h"
#include <Qslider>
#include <QWidget>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    vtkRenderer *ren =vtkRenderer::New();
    vtkRenderWindow *renWin =vtkRenderWindow::New();
    renWin->AddRenderer(ren);

    vtkDICOMImageReader *reader=vtkDICOMImageReader::New();
    reader->SetDataByteOrderToLittleEndian();
    char szPath[MAX_PATH]={0};
    strcpy(szPath,"图片路径");
    reader->SetDirectoryName(szPath);
    reader->Update();
  
    vtkImageViewer2* imageview = vtkImageViewer2::New();
    imageview->SetInput(reader->GetOutput());
    int max=imageview->GetSliceMax();
    int min=imageview->GetSliceMin();
    int mid=(max+min)*0.5;

    QSlider *slider=new QSlider;
    slider->setValue(mid);
    slider->setMaximum(max);
    slider->setMinimum(min);
    slider->setSingleStep(1);
    int val=max-slider->value();
    
    imageview->SetSlice(val);
    imageview->UpdateDisplayExtent();
    imageview->Render();

    imageview->SetColorLevel(100);
    imageview->SetColorWindow(150);
    //interactor->SetRenderWindow(renWin);

    QVTKWidget *widget=new QVTKWidget(ui->widget);//将VTK的图形窗口嵌入到Qt的窗口中
    ui->horizontalLayout->addWidget(widget);
    widget->SetRenderWindow(imageview->GetRenderWindow());


}

MainWindow::~MainWindow()
{
    delete ui;
}
快速回复
限100 字节
 
上一个 下一个