有没有办法更改 VTKJS 中的默认光标样式?

Is there a way to change default cursor styles in VTKJS?

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

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

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

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

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

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

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

renderWindow.setCursor('zoom-in');

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

publicAPI.handleButtonRelease = (e) => {
    model.interactor.getView().setCursor('wait');
}