在GLviewwidget中添加文本,比如数字之类的

最近有个需求,想要在GLviewwidget里面的指定三维位置添加文本,但是找到的版本都太老久了,或者用的是open3d实现的,在实际中的应用效果并不是很好。因此自己就写了一个,代码如下:

plot = gl.GLTextItem(pos=(int(x), int(y), int(z)),text = str(i+2))
plot.setData()
Form_lianjieban.openGLWidget.addItem(plot)

其中gl是pyqtgraph.opengl,openGLWidget是使用的GLviewwidget,千万注意如果不加pos信息,那么plot是固定的不会旋转的。
除了上述信息之外,还要再加一个相机的位置信息,否则无法显示:

Form_lianjieban.openGLWidget.setCameraPosition(QtGui.QVector3D(pos_view[0],pos_view[1],pos_view[2]))

主要就是setCameraPosition这个函数,里面的三个参数,可以是点云的中心,也可以自己输入一下。
最后来看一下效果吧:
在这里插入图片描述
上文中的白色即是标注,在每个孔洞中放置一个标签。

需要注意的是,如果有多个窗口,可能会出现bug:

OpenGL.error.GLError: GLError(err = 1281,description = b'\xce\xde\xd0\xa7\xd6\xb5',baseOperation = glUseProgram,cArguments = (3,)
LScatterPlotItem object at 0x000001AA9AA72CA0>.

这时候只有关闭了重新开始就可以。bug产生的原因众说纷纭,总结来说就是因为不同的窗口同时打开导致冲突了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/496001.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚信安慧AntDB数据库与流式处理的有机融合

流式处理的概念 2001年9月11日,美国世贸大楼被袭击,美国国防部第一次将“主动预警”纳入国防的宏观战略规划。而IBM作为当时全球最大的IT公司,承担了大量基础支撑软件研发的任务。其中2009年正式发布的IBM InfoSphere Streams,就是…

飞天使-学以致用-devops知识点1-安装gitlabharbor

文章目录 rpm 安装gitlab页面配置配置secretsecret 查看信息-chatgpt回复 为项目配置webhook,等jenkins部署完毕后在配置卸载 harbor配置secret所有k8s集群节点安装信任 http rpm 安装gitlab # 下载安装包 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitla…

K8S之Deployment的介绍和使用

Deployment的理论和实操 Deployment控制器:概念、原理解读概述工作原理 编写Deployment资源清单文件使用案例:创建一个web站点Deployment管理pod:扩容、缩容通过deployment管理应用,实现扩容,把副本数变成3通过deploym…

mysql中创建外键只会在索引处出现解决办法

我在mysql中创建的外键总是不成功 只有索引的地方多了一条记录,外键那里一保存就没有了,也不报错 为什么会产生这个问题,这个坑的的来源是有以下三点: MySQL建表的时候,可以不指定表引擎, 这时候MySQL就会…

wpf 3d 后台加载模型和调整参数

下载了一个代码,加载obj模型;它的参数在xaml里,模型加载出来刚好; 然后加载另一个obj模型;加载出来之后大,偏到很高和左的位置; 它之前的摄像机位置, Position"9.94759830064…

2024土木工程、环境工业与材料科学国际会议(CEEIMS2024)

2024土木工程、环境工业与材料科学国际会议(CEEIMS2024) 一、【会议简介】 我们诚挚地邀请您参加2024年土木工程、环境工业与材料科学国际会议(CEEIMS2024)。本次会议将在厦门举行。 本次会议旨在为土木工程、环境工业和材料科学领域的专家学者提供一…

利用 ChatGPT 提升个人工作、生活品质

利用 ChatGPT 提升个人工作、生活品质和个人智慧是一个多方面而又切实可行的方法。 以下是一些具体的建议: 获取信息和知识: ChatGPT 可以回答各种问题并提供相关信息和知识。你可以利用它来查询工作中遇到的问题、学习新的知识领域或是获取日常生活中的…

Go的CSP并发模型实现M, P, G简介

GMP概念简介 G: goroutine(协程,也叫用户态线程) M: 工作线程(内核态线程) P: 上下文(也可以认为是cpu,逻辑cpu数量,可以在程序启动的时候设置这个数量,gomaxprocs函数设置) GMP 模型 在 Go 中&#xff…

el-table 多选表格存在分页,编辑再次操作勾选会丢失原来选中的数据

el-table表格多选时,只需要添加type"selection", row-key及selection-change,如果存在分页时需要加上reserve-selection,这里就不写具体的实现方法了,可以查看我之前的文章,这篇文章主要说一下存…

CGI程序与ShellShock漏洞

CGI是什么? CGI(通用网关接口,Common Gateway Interface)程序是一种用于在Web服务器上执行动态内容的技术。与服务器上普通的后端代码相比,CGI程序有几个区别: 执行环境: CGI程序在服务器上作为…

开创5G无线新应用:笙科电子5.8GHz 射频芯片

笙科电子(AMICCOM) 5.8GHz A5133射频芯片是一款专门设计用于在5.8GHz频率范围内(5725MHz - 5850MHz)进行射频信号处理的集成电路。这些集成电路通常包括各种功能模块,如射频前端、混合器、功率放大器、局部振荡器等,以支持无线通信系统的各种…

数据结构2月21日

双向链表: func函数&#xff1a; #include <stdio.h> #include <stdlib.h> …