0

qwtslider があり、vtkImagePlaneWidget に適用する値を取得したいのですが、これを行う方法がわかりません。getValue() を使用していますが、機能しません。

私はそれを転送する機能を持っています:

void planevolume::SplaneX()
{
    double xvalue=ui->Slider->getValue();// this does not work
    planeX->SetSliceIndex(xvalue);
    ui->qvtkWidget->update();

それはスロットとして機能し、

// X Slider
      ui->doubleSpinBox->setDecimals(0);
      ui->doubleSpinBox->setMaximum(xmax);
      ui->doubleSpinBox->setSingleStep(1.0);
      ui->doubleSpinBox->setValue((xmax-xmin)/2.0);
      ui->Slider->setRange(xmin, xmax, 1.0);
      ui->Slider->setScale(xmin, xmax+1.0, (xmax+1.0)/4.0);
      ui->Slider->setValue((xmax-xmin)/2.0);
      connect(ui->Slider, SIGNAL(valueChanged(double)), ui->doubleSpinBox, SLOT(setValue(double)));
      connect(ui->doubleSpinBox, SIGNAL(valueChanged(double)), ui->Slider, SLOT(setValue(double)));

connect(ui->Slider, SIGNAL(valueChanged(double)), this, SLOT(SplaneX()));

どうすればできますか?誰かが何か考えがありますか?

4

2 に答える 2

2

このコードをコンパイルできますか?

double xvalue=ui->Slider->getValue();// これは機能しません

あなたは書く必要があります:

double xvalue=ui->Slider-> value ();

于 2012-08-27T12:44:19.100 に答える
1

doubleではなくintをパラメーターとして受け取ることvtkImagePlaneWidget::SetSliceIndexを知っていますか? あなたのxminxmaxはどの範囲ですか? double から int へのデフォルトの変換では、分数のステップがすべて切り捨てられます (スライダーのステップの 1/4 など)。また、存在しない信号とスロットに接続しています。doubleではなくintをパラメータとして取ります。QDoubleSpinBoxsetValuevalueChanged

于 2012-08-27T21:19:04.467 に答える