1

我正在做一个项目,在该项目中我使用 VTKJS 创建了不同类型的工具(例如:平移、缩放、旋转)。每次我选择这些工具中的任何一个时,都会激活特定的功能(例如:当我选择缩放时,我可以放大和缩小图像)。现在的问题是,如果我选择这些工具中的任何一个,则应用的光标的默认样式是cursor: pointer,我想为每个工具项更改不同的光标样式。VTKJS 中有什么方法可以更改此默认行为。例如:对于缩放我需要放大,对于平移我需要指针,对于旋转它的默认值(箭头)。

现在我尝试的是在我创建的每个工具项上创建事件侦听器

 zoomButton.setAttribute("style", "cursor:zoom-in !important");

它工作正常,它改变了光标图标。但是每当我尝试放大或缩小时,光标都会恢复为cursor:pointer. 那么他们的蚂蚁方式是我们可以处理的吗?

4

2 回答 2

1

您应该能够通过交互器或 renderWindow 对象通过该setCursor()方法设置光标。例如:

import vtkGenericRenderWindow from 'vtk.js/Sources/Rendering/Misc/GenericRenderWindow';

const genericRenderWindow = vtkGenericRenderWindow.newInstance();
const renderWindow = genericRenderWindow.getRenderWindow();

renderWindow.setCursor('zoom-in');
于 2021-06-18T13:05:07.077 回答
0

behaviour.js小部件的文件中,您可以添加model.interactor.getView().setCursor('wait');这会将光标更改为您的偏好。

publicAPI.handleButtonRelease = (e) => {
    model.interactor.getView().setCursor('wait');
}
于 2021-10-15T10:03:42.467 回答