pyqt Pyton VTK 使用 滑块 改变 VTK Actor 颜色
使用 PyQt5 vtk vtk球体 使用滑块 RGB 改变 Actor 颜色

CODE
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtWidgets import (QApplication, QCheckBox, QGridLayout, QGroupBox,QMenu, QPushButton, QRadioButton, QVBoxLayout, QWidget, QSlider,QLineEdit,QLabel)
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5 import *
import vtk
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
#from PyQt5 import Qt
from PyQt5.QtCore import Qt #有一些常量在这里面,eg:blue
def window():ren = vtk.vtkRenderer()source = vtk.vtkSphereSource()source.SetCenter(0, 0, 0)source.SetRadius(1.0)app = QApplication(sys.argv)win = QWidget()Display_1 = QLCDNumber(3)Display_2 = QLCDNumber(3)Display_3 = QLCDNumber(3)Display_1.setSegmentStyle(QLCDNumber.Flat)Display_2.setSegmentStyle(QLCDNumber.Flat)Display_3.setSegmentStyle(QLCDNumber.Flat)Display_1.display(128)Display_2.display(128)Display_3.display(128)Slider_1 = QSlider(win)Slider_1.setMinimum(0)Slider_1.setMaximum(255)Slider_1.setValue(128)Slider_1.valueChanged.connect(Display_1.display)Slider_2 = QSlider(win)Slider_2.setMinimum(0)Slider_2.setMaximum(255)Slider_2.setValue(128)Slider_2.valueChanged.connect(Display_2.display)Slider_3 = QSlider(win)Slider_3.setMinimum(0)Slider_3.setMaximum(255)Slider_3.setValue(128)Slider_3.valueChanged.connect(Display_3.display)label_1 = QLabel("Label_R")label_1.setAlignment(Qt.AlignCenter)label_2 = QLabel("Label_G")label_2.setAlignment(Qt.AlignCenter)label_3 = QLabel("Label_B")label_3.setAlignment(Qt.AlignCenter)vbox = QVBoxLayout()vbox.addWidget(label_1)vbox.addWidget(Display_1)vbox.addWidget(Slider_1)vbox.addWidget(label_2)vbox.addWidget(Display_2)vbox.addWidget(Slider_2)vbox.addWidget(label_3)vbox.addWidget(Display_3)vbox.addWidget(Slider_3)vbox.addStretch()hbox = QHBoxLayout()frame = QFrame()frame.setFrameShape(QFrame.StyledPanel)frame.setFrameShape(QFrame.StyledPanel) # Application de la formeframe.setFrameShadow(QFrame.Raised) # application d'une ombreframe.setObjectName("frame") # Appellation du cadre#b3 = QtWidgets.QPushButton("Button3")#b4 = QtWidgets.QPushButton("Button4")hbox.addWidget(frame)hbox.addStretch()#hbox.addWidget(b4)vbox.addStretch()hbox.addLayout(vbox)win.setLayout(hbox)vtkWidget = QVTKRenderWindowInteractor(frame)vl = QVBoxLayout()vl.addWidget(vtkWidget)vtkWidget.GetRenderWindow().AddRenderer(ren)iren = vtkWidget.GetRenderWindow().GetInteractor()# Create a mappermapper = vtk.vtkPolyDataMapper()mapper.SetInputConnection(source.GetOutputPort())# Create an actoractor = vtk.vtkActor()actor.SetMapper(mapper)ren.AddActor(actor)ren.ResetCamera()frame.setLayout(vl)def handler():changevalue(Slider_1, Slider_2,Slider_3,actor)ren.ResetCamera()ren.Render()vtkWidget.GetRenderWindow().Render()Slider_1.valueChanged.connect(handler)Slider_2.valueChanged.connect(handler)Slider_3.valueChanged.connect(handler)#setCentralWidget(self.frame)#show()iren.Initialize()iren.Start()win.setWindowTitle("PyQt-vtkSphere")win.resize(743, 430)win.show()sys.exit(app.exec_())def changevalue(slider1,slider2,slider3,actor):valueR = slider1.value()valueG = slider2.value()valueB = slider3.value()print("RGB",valueR,valueG,valueB)#source.SetRadius(int(value))actor.GetProperty().SetColor(valueR/100.0,valueG/100.0,valueB/100.0)if __name__ == '__main__':window()
相关文章:
pyqt Pyton VTK 使用 滑块 改变 VTK Actor 颜色
使用 PyQt5 vtk vtk球体 使用滑块 RGB 改变 Actor 颜色 CODE import sys from PyQt5.QtWidgets import * from PyQt5.QtWidgets import (QApplication, QCheckBox, QGridLayout, QGroupBox,QMenu, QPushButton, QRadioButton, QVBoxLayout, QWidget, QSlider,QLineEdit,QLabe…...
春秋云镜 CVE-2019-16113
春秋云镜 CVE-2019-16113 Bludit目录穿越漏洞 靶标介绍 在Bludit<3.9.2的版本中,攻击者可以通过定制uuid值将文件上传到指定的路径,然后通过bl-kernel/ajax/upload-images.php远程执行任意代码。 启动场景 漏洞利用 exp https://github.com/Kenun…...
【JavaEE基础学习打卡06】JDBC之进阶学习PreparedStatement
目录 前言一、PreparedStatement是什么二、重点理解预编译三、PreparedStatement基本使用四、Statement和PreparedStatement比较1.PreparedStatement效率高2.PreparedStatement无需拼接参数3.PreparedStatement防止SQL注入 总结 前言 📜 本系列教程适用于JavaWeb初学…...
Postgresql12基于时间点恢复
1、环境 centos 7系统 postgresql 12 docker 20.10.6 2、整体思路 1)进行一个pgdata目录的全量备份 2)通过wal日志恢复到故障发生之前某个时间点 3、操作步骤 配置postgresql.conf文件 #日志级别 wal_level replica #归档开关 archive_mode on …...
【MySQL系列】Select语句单表查询详解(二)ORDERBY排序
💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …...
C++学习第十九天----简单文件输入/输出和今日工作问题
1.写入到文本文件中 cout用于控制台输出; 必须包含头文件iostream; 头文件iostream定义了一个用于处理输出的ostream类; 头文件iostream声明了一个名为cout的ostream变量(对象); 必须指明名称空间std&…...
基于风险的漏洞管理
基于风险的漏洞管理涉及对即将被利用的漏洞的分类响应,如果被利用,可能会导致严重后果。本文详细介绍了确定漏洞优先级时要考虑的关键风险因素,以及确保基于风险的漏洞管理成功的其他注意事项。 什么是基于风险的漏洞管理对基于风险的漏洞管…...
命令行——Git基本操作总结
介绍 我们的操作使用的是客户端TortoiseGit 操作的git ,实际上底层依旧是使用的命令行帮我们执行, 在早期 git 并没有窗口化工具,开发人员只能使用命令行模式 实际上,如果你掌握并熟练使用了命令行模式操作git 的话,你会发现某些操作命令行比窗口化操作要简单 所有你在工作中…...
验证评估守护关基安全 赛宁数字孪生靶场创新实践
近日,由赛宁网安主办,ISC互联网安全大会组委会协办的第十一届互联网安全大会(ISC 2023)安全运营实践论坛圆满结束。赛宁网安产品总监史崯出席并作出主题演讲:《基于数字孪生靶场如何开展验证评估》,同时…...
R语言09-R语言中的字符函数和分布相关函数
字符函数 paste() 和 paste0(): 将多个字符向量连接成一个字符串,paste0() 直接连接,而 paste() 可以通过 sep 参数指定分隔符。 vector1 <- c("Hello", "world") vector2 <- c("R", "programming") re…...
pnpm无法加载文件 (解决方法 )
现在要运行一个TS的项目,我的电脑上没有安装pnpm,导致我的vscode一直报错无法加载。 pnpm安装: npm install -g pnpm pnpm : 无法加载文件 pnpm : 无法加载文件 C:\Users\HP\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运…...
做一个蛋糕店小程序需要哪些步骤?
对于一些不懂技术的新手来说,创建蛋糕店小程序可能会感到有些困惑。但是,有了乔拓云平台的帮助,你可以轻松地创建自己的蛋糕店小程序。下面,我将为大家详细介绍一下具体的操作步骤。 首先,登录乔拓云平台并进入后台管理…...
Docker的革命:容器技术如何重塑软件部署之路
引言 在过去的几年中,容器技术已经从一个小众的概念发展成为软件开发和部署的主流方法。Docker,作为这一变革的先驱,已经深深地影响了我们如何构建、部署和运行应用程序。本文将探讨容器技术的起源,Docker如何崛起并改变了软件部…...
【ARM-Linux】项目,语音刷抖音项目
文章目录 所需器材装备操作SU-03T语音模块配置代码(没有用wiring库,自己实现串口通信)结束 所需器材 可以百度了解以下器材 orangepi-zero2全志开发板 su-03T语音识别模块 USB-TTL模块 一个安卓手机 一根可以传输的数据线 装备操作 安…...
Linux驱动开发:技术、实践与Linux的历史
一、引言 Linux,这个开源的操作系统,已经在全球范围内赢得了开发者和企业的广泛支持。它的强大之处在于其内核以及无数的驱动程序,这些驱动程序使得各种硬件设备可以在Linux操作系统上运行。本篇文章将深入探讨Linux驱动开发,包括…...
# Go学习-Day5
文章目录 map增加和更新删除查询遍历(for-range)map切片关于哈希表遍历的一点看法对map的key排序 结构体与OOP声明、初始化、序列化方法工厂模式 个人博客:CSDN博客 map map是一个key-value的数据结构,又称为字段或关联数组 Gol…...
创建型(二) - 单例模式
一、概念 单例设计模式(Singleton Design Pattern):一个类只允许创建一个对象(或者实例),那这个类就是一个单例类。 优点:在内存里只有一个实例,减少了内存的开销,避免…...
基于swing的图书借阅管理系统java jsp书馆书籍信息mysql源代码
本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于swing的图书借阅管理系统 系统有2权限࿱…...
Android相机-HAL-Rockchip-hal3
引言: 对于Android相机的 HAL层而言对上实现一套Framework的API接口,对下通过V4L2框架实现与kernel的交互。不同的平台会有不同的实现方案。主要是对Android HAL3的接口的实现。看看rockchip是怎么支持hal3的? 代码目录: hardw…...
基于Java+SpringBoot+vue前后端分离华强北商城二手手机管理系统设计实现
博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...
USER.md 渐进式沉淀实战:Hermes Agent 用户画像构建的 4 阶段演进路径
1. USER.md 不是静态配置,而是用户认知的渐进式快照 大多数人第一次打开 USER.md 文件时,会下意识把它当成一个“填空题”:姓名、职位、技术栈、常用工具……填完就提交,以为完成了人格初始化。我试过三次——第一次在内部 PoC 项目里,第二次在客户交付现场,第三次是在给…...
手机号逆向查QQ号:3分钟快速上手完整指南,告别繁琐登录验证!
手机号逆向查QQ号:3分钟快速上手完整指南,告别繁琐登录验证! 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾忘记自己哪个QQ号绑定了某个手机?或者需要批量验证手机号与QQ的关…...
RT-Thread USB HID设备数据发送失败排查:ops参数与报告ID的深度解析
1. 问题背景与核心需求解析 最近在捣鼓RT-Thread,想用它来实现一个USB HID设备,完成和电脑之间的双向数据收发。HID,也就是人机接口设备,大家最熟悉的可能就是键盘鼠标了,它的好处是免驱动,在主流操作系统…...
用Python和pywifi写个WiFi密码测试工具(附完整GUI源码)
用Python构建WiFi安全测试工具:从原理到GUI实现 在数字化时代,WiFi安全已成为个人和企业网络安全的第一道防线。作为Python开发者,我们如何利用技术手段来验证自身网络的安全性?本文将带你从零开始构建一个基于pywifi库的WiFi连接…...
OpenStack 12大组件说明-blog
OpenStack 12大组件说明 OpenStack 是开源Iaas云计算平台,由12大核心组件构成,各组件独立部署、协同工作,覆盖计算、存储、网络、认证等全场景,以下是各组件核心说明(精简版)。 1. Nova(计算服务…...
STM32F103C8T6驱动BMP280气压模块:从I2C地址纠错到数据转换的完整避坑指南
STM32F103C8T6驱动BMP280气压模块:从I2C地址纠错到数据转换的完整避坑指南 在嵌入式开发中,气压传感器BMP280因其高精度和低成本成为许多项目的首选。然而,当这个看似简单的模块遇上STM32F103C8T6这颗经典的MCU时,不少开发者却踩进…...
告别网络玄学:手把手教你用寄存器调试法搞定YT8521 PHY‘ping不通’故障
寄存器调试实战:用YT8521 PHY案例解析RGMII时序优化 当一块嵌入式开发板的网络接口出现"能发不能收"的诡异现象时,多数工程师的第一反应往往是检查驱动配置或网线连接。但在实际项目中,这种看似简单的"ping不通"问题&…...
ABB机器人通过Socket实现ModbusTCP通信:Float浮点数解析与PLC数据交换实战
1. ABB机器人与PLC通信的基础原理 在工业自动化领域,设备间的数据交换是核心需求之一。ABB机器人作为客户端与PLC(可编程逻辑控制器)进行通信时,最常用的方式就是ModbusTCP协议。但这里有个关键点需要注意:ABB机器人的…...
摆脱人员穿戴约束,无感定位颠覆 UWB 强制管理模式
摆脱人员穿戴约束,无感定位颠覆 UWB 强制管理模式一、UWB 先天短板:深陷强制穿戴、强管控困局传统 UWB 定位天生依赖基站有源标签,想要实现厘米级定位,前提必须是全员强制佩戴标签手环/胸卡。不仅硬性要求内部人员全天候穿戴&…...
从模型到代码:无人驾驶轨迹跟踪算法(Stanley、LQR、PID)的Carsim/Simulink联合仿真实践
1. 无人驾驶轨迹跟踪算法入门指南 第一次接触无人驾驶轨迹跟踪算法时,我被各种专业术语搞得晕头转向。直到真正动手在Carsim和Simulink里搭建仿真环境,才明白这些算法到底是怎么运作的。轨迹跟踪算法的核心任务很简单:让车辆按照预定路线行驶…...
