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技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...
UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
系统掌握PyTorch:图解张量、Autograd、DataLoader、nn.Module与实战模型
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文通过代码驱动的方式,系统讲解PyTorch核心概念和实战技巧,涵盖张量操作、自动微分、数据加载、模型构建和训练全流程&#…...
stm32wle5 lpuart DMA数据不接收
配置波特率9600时,需要使用外部低速晶振...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
微服务通信安全:深入解析mTLS的原理与实践
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...
