如何从QT调用滑块移动事件

How to call slider move event from QT

本文关键字:移动 事件 调用 QT      更新时间:2024-06-10

我正试图在我用作WebView的HTML文件中,通过使用水平滑块从QT通过evaluateJavaScript调用Javascript/JQuery滑块事件,我有一个函数被调用为valueChanged(int)的SIGNAL的SLOT。我试过

this->ui->browser->page()->mainFrame()->evaluateJavaScript($("#radius-slider").slider({
  min: 0,
  max: 50,

  step: 0.1,
  value: layers[currentValue].defaultRadius,
  change: function(event, ui) {
changeRadius(ui.value);
  }
}););

QString theJSCode = QString("changeRadius(%1)").arg(this->ui->horizontalSlider_6->value());
this->ui->browser->page()->mainFrame()->evaluateJavaScript(theJSCode);

但无济于事。我做错了什么?我应该在哪里解决这个问题?谢谢

在查找了一些示例后,我做了以下操作,并成功了。

Javascript结束:

function setVals(newVal){
$("#radius-slider").slider('value', newVal);
}

Qt端:

QString theJSCode = QString("setVals(%1)").arg(this->ui->horizontalSlider_6->value());
this->ui->browser->page()->mainFrame()->evaluateJavaScript(theJSCode);