news 2026/6/23 2:29:53

MouseEvents 两个事件的监听

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MouseEvents 两个事件的监听

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①同时监听两个事件


二:代码及注释

import vtkmodules.vtkInteractionStyle import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) from vtkmodules.vtkFiltersSources import vtkSphereSource from vtkmodules.vtkInteractionStyle import vtkInteractorStyleTrackballCamera class MyInteractorStyle(vtkInteractorStyleTrackballCamera): def __init__(self, parent=None): self.AddObserver('MiddleButtonPressEvent', self.middle_button_press_event) self.AddObserver('MiddleButtonReleaseEvent', self.middle_button_release_event) def middle_button_press_event(self, caller, event): print("Middle Button pressed") self.OnMiddleButtonDown() def middle_button_release_event(self, caller, event): print("Middle Button released") self.OnMiddleButtonUp() def main(): colors = vtkNamedColors() source = vtkSphereSource() source.SetCenter(0, 0, 0) source.SetRadius(1) source.Update() mapper = vtkPolyDataMapper() mapper.SetInputConnection(source.GetOutputPort()) actor = vtkActor() actor.SetMapper(mapper) actor.GetProperty().SetColor(colors.GetColor3d("SlateGray")) render = vtkRenderer() render.SetBackground(colors.GetColor3d("SlateGray")) render.AddActor(actor) renwin = vtkRenderWindow() renwin.AddRenderer(render) renwin.SetWindowName('MouseEvents') interactor = vtkRenderWindowInteractor() style = MyInteractorStyle() interactor.SetInteractorStyle(style) interactor.SetRenderWindow(renwin) interactor.Initialize() renwin.Render() interactor.Start() if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 3:43:45

终极解决方案:OpenCore Legacy Patcher让老旧Mac重获新生

终极解决方案:OpenCore Legacy Patcher让老旧Mac重获新生 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为手中的老Mac无法升级最新系统而苦恼&…

作者头像 李华
网站建设 2026/6/22 3:42:37

5大核心策略:深度解析OpenCore-Legacy-Patcher智能版本管理机制

5大核心策略:深度解析OpenCore-Legacy-Patcher智能版本管理机制 【免费下载链接】OpenCore-Legacy-Patcher 体验与之前一样的macOS 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 在开源工具生态中,版本管理机制直接…

作者头像 李华
网站建设 2026/6/22 3:42:03

MelonLoader终极指南:Unity游戏模组加载器完整使用手册

MelonLoader终极指南:Unity游戏模组加载器完整使用手册 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 想要彻底改变…

作者头像 李华
网站建设 2026/6/12 16:20:03

测试微服务韧性:构建坚不可摧的分布式系统防线

引言:分布式系统的脆弱性本质 在微服务架构渗透率达83%的当下(2026年数据),单个服务的故障可能引发雪崩式崩溃。2019年某云服务商因缓存服务故障导致全球12小时停摆的案例证明:连锁故障(Cascading Failure…

作者头像 李华
网站建设 2026/6/16 17:43:35

企业IT如何批量部署POWERSETTINGS优化方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个企业级电源管理批量配置工具,包含以下功能:1)通过PowerShell读取/修改电源设置 2)生成可导入的注册表配置 3)支持AD域批量部署 4)差异配置报告生成…

作者头像 李华
网站建设 2026/6/17 4:43:23

AI一键搞定Windows Python环境配置,告别繁琐安装

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个Windows系统下的Python自动安装助手,功能包括:1. 自动检测系统版本和位数 2. 推荐最适合的Python版本 3. 生成一键安装脚本 4. 自动配置环境变量 5…

作者头像 李华