![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
文章平均质量分 70
做一个坚强的女汉子
这个作者很懒,什么都没留下…
展开
-
(四)qt中使用ffmpeg播放视频,可暂停恢复
在qt中ffmpeg解码并播放视频原创 2024-04-11 18:03:56 · 620 阅读 · 2 评论 -
(二)在QT中添加ROS项目+简单的利用QT推送消息+RVIZ显示插件接收消息
参考下面文章。原创 2023-07-31 18:28:16 · 3588 阅读 · 22 评论 -
pcl+vtk(十六)vtkInteractorStyleTrackballCamera选中渲染器中的演员actor
上一篇文章介绍过vtkInteractorStyleTrackballCamera的使用,可以通过重写vtkInteractorStyleTrackballCamera类,重写鼠标坐及左键按下事件void OnLeftButtonDown() override来获取选中的演员actor。如果想在渲染器中选中一个演员actor,该怎么拿到选中的演员actor呢?widget.cpp中主要代码。原创 2024-03-12 18:21:07 · 461 阅读 · 0 评论 -
pcl+vtk(十三)mesh模型的加载显示
Mesh模型是一种用于描述三维物体表面的数学表示方法。它由一系列顶点(vertices)和连接这些顶点的线段或面片(faces)组成。每个顶点具有其在三维空间中的坐标位置,而每个面片则由一组顶点索引构成,定义了一个平面。在Mesh模型中,可以使用不同的数据结构来表示顶点和面片之间的关系,常见的包括三角形网格(triangle mesh)和四边形网格(quadrilateral mesh)三角形网格是最常用的一种,它由三个顶点和一个法线向量(用于确定面片的朝向)组成。四边形网格则由四个顶点和一个法线向量构成。原创 2024-01-24 15:40:28 · 833 阅读 · 0 评论 -
pcl+vtk(十二)使用vtkPolyData创建点、线、面(不规则面)、三角带
vtkPlaneSource创建平面,只可以创建平行四边形的平面,根据一个起点和两个终点创建法向量创建平面。但是当有创建多个点围成不规则平面的需求时,该怎么创建显示呢?在网上查了资料,可以使用vtkPolyData拓扑结构。原创 2023-11-25 15:11:45 · 998 阅读 · 1 评论 -
pcl+vtk(十一)智能指针 vtkSmartPointer
每个对象中都会维护一个引用计数的变量,用来表示当前对象被多少对象引用。当对象被另一个对象引用时,引用计数加1;当另一个对象取消对该对象的引用或者另一个对象被移除时,引用计数减1。如果对象的引用计数减为0时,程序会自动析构这个对象。在VTK中使用智能指针用类vtkSmartPointer来定义对象。原创 2023-11-17 10:53:52 · 457 阅读 · 0 评论 -
pcl+vtk(十)八叉树可视化显示
八叉树(Octree)是一种空间划分结构,是一种二叉树的扩展,每个节点可以最多有8个子节点。二、八叉树在VTK中的使用1.直接加载ply文件显示八叉树2.根据点云数据显示八叉树原创 2023-11-14 12:16:26 · 341 阅读 · 0 评论 -
QT通过url下载http地址下的文件(文件夹)
之前只写过通过http协议通信,没有写过下载http地址中的文件以及文件夹,了解一下在QT下如何下载。其实很简单,同使用协议通信相同的是,创建QNetworkAccessManager和QNetworkRequest,设置QNetworkRequest的url,通过get请求接收QNetworkReply中数据,利用downloadProgress信号接收每次下载下来的内容,知道下载完成。原创 2023-10-31 17:55:28 · 1253 阅读 · 0 评论 -
pcl+vtk(九)QVTKOpenGLNativeWidget同时显示点云和模型
【代码】(九)QVTKOpenGLNativeWidget同时显示点云和模型。vtkUnsignedCharArray显示pcd文件中rgb颜色信息。加载obj和stl文件形式模型。原创 2023-10-24 11:52:29 · 1692 阅读 · 2 评论 -
pcl+vtk(八)vtk常用类的常用函数介绍(附带代码示例)
vtk中类的说明以及函数使用。vtkPoints、vtkCellArray、vtkSphereSource、vtkConeSource、vtkCylinderSourcev、tkCubeSource、vtkPlaneSource、vtkLineSource、vtkDiskSource、vtkPointSource、vtkTextSource、vtkArrowSource、vtkPolyData原创 2023-10-20 18:26:18 · 1031 阅读 · 0 评论 -
pcl+vtk(七)QVTKOpenGLNativeWidget中显示坐标轴
设置坐标系的原点位置设置坐标轴的总长度设置坐标轴的轴身类型(int type)0:柱状轴身1:线性轴身如果类型为0:SetCylinderRadius(double):设置柱状轴半径设置坐标轴的轴顶部类型0:圆锥体1:球体如果类型为0:SetConeResolution(double);设置锥面数设置锥半径如果类型为1:SetSphereResolution(double);设置球面数设置球半径是否显示标签设置轴标签。原创 2023-10-20 15:34:46 · 1411 阅读 · 6 评论 -
pcl+vtk(六)vtk简单介绍、渲染流程、简单示例
Vtk(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。原创 2023-10-19 16:04:28 · 922 阅读 · 0 评论 -
pcl+vtk(五)PCLVisualizer显示点云的深层用法
PointCloudColorHandlerGenericField将不同的深度值显示为不同的颜色,实现以颜色区分深度的目的;PointCloudColorHandlerCustom将点云作为整体并统一着色,PointCloudColorHandlerGenericField将点云按深度值(“x”、“y”、"z"均可)的差异着以不同的颜色。PointCloudColorHandlerRGBField得到每个点云对应的颜色。文章的基础上,修改按钮对应的槽函数中的程序。自定义点云颜色,利用。原创 2023-10-17 18:30:25 · 461 阅读 · 0 评论 -
pcl+vtk(四)pcd和ply方式存储点云简单介绍,以及ply格式转换为pcd格式点云方法
一个pcd文件中通常由两部分组成:文件说明和点云数据。读取pcd文件中的rgb信息时,报错Failed to find match for field 'rgb' 原因有两个:一是读取的pcd文件中没有rgb数据。二是pcl的版本与文件中存储的rgb数据格式不一致。原创 2023-10-17 15:26:18 · 853 阅读 · 0 评论 -
pcl+vtk(三)QT中使用QVTKOpenGLNativeWidget的简单教程以及案例,利用PCLVisualizer显示点云
先添加一个带有ui的QT应用程序。然后将QOpenGLWidget控件提升为QVTKOpenGLNativeWidget控件,步骤如下:原创 2023-10-17 14:22:18 · 5844 阅读 · 7 评论 -
pcl+vtk(二)Ubuntu18.04下载安装基于使用QT的pcl1.13+vtk8.2,以及卸载
Ubuntu18.04下载安装基于使用QT的pcl1.13+vtk8.2,以及卸载QVTKWidget:目前了解到的只可显示点云,没有在网上找到显示模型的例子。QVTKOpenGLNativeWidget:既可显示点云又可显示模型。原创 2023-10-11 18:06:46 · 2245 阅读 · 10 评论 -
pcl+vtk(一)Ubuntu18.04中QT安装下载安装pcl和vtk以及使用过程中踩过的坑
之前从来没有接触过QT中显示3D点云方面的知识,了解到可以用pcl,然后在网上各种找pcl下载的相关内容,想要在QT中显示出来,需要用到VTK,又开始找VTK的下载的相关内容。网上大多数推荐的pcl1.9+vtk7.1,用QVTKWidget这个控件来显示,然后找了篇文章跟着流程进行下载。但是!!!后来知道,不只要显示点云,还要显示模型。查找资料之后发现QVTKWidget这个控件不能显示模型,需要用QVTKOpenGLNativeWidget,刺激的来了,vtk8.2版本之后才有这个控件。原创 2023-10-11 14:15:40 · 915 阅读 · 0 评论 -
QT中报:-1: error: Unknown module(s) in QT缺少模块错误——解决办法
QT中报:-1: error: Unknown module(s) in QT缺少模块错误——解决办法。:-1: error: Unknown module(s) in QT: 3dcore 3drender 3dinput 3dlogic 3dextra;private/qzipwriter_p.h: No such file or directory;:-1: error: Unknown module(s) in QT: websockets原创 2023-09-18 16:03:53 · 4890 阅读 · 0 评论 -
QT中使用AES_128长度密钥,CBC加密模式进行加密
QT中使用AES_128长度密钥,CBC加密模式进行加密原创 2023-08-23 10:09:48 · 495 阅读 · 0 评论 -
(四)添加rviz自定义插件
在工作空间src下创建存放消息的包,右击【src】,选择【添加新文件...】。选择【ROS】,选择【Package】,点击【Choose...】按钮。写入【Name:】名称,写入【Catkin:】依赖,消息依赖于 std_msgs和message_generation。点击【完成】按钮。找到创建的消息包【plugin_msg】文件夹,在此新建文件夹,名称为【msg】,目录结构如下:右击【msg】,选择【添加新文件...】。原创 2023-08-17 10:52:20 · 726 阅读 · 1 评论 -
(三)在ros环境和qt环境下进行cmake编译,编写CMakeLists.txt文件
CMakeLists.txt 文件是在 CMake 中定义项目的基本配置和构建规则的文本文件。8.在定义消息类型时,编译的可执行文件依赖这些动态生成的代码,需要使用${PROJECT_NAME}_generate_messages_cpp进行配置。添加头文件搜索路径,编译器使用这些目录来查找头文件,第一个参数“include”表示包中的include/目录也是路径的一部分。指定将要构建的可执行文件的名称,以及它所依赖的源文件。用于指定包的依赖关系,由依赖于这个包的其他软件包使用。7.定义库文件的构建规则。原创 2023-08-08 15:50:18 · 478 阅读 · 0 评论 -
ubuntu下QT 通过快捷方式.desktop实现开机自启动程序
必填,表明该文件是一个Desktop Entry文件,节点意思十分明显,桌面入口。Desktop Entry实际上是一个文件标准,该标准由FreeDesktop.org制定。可选,指定了当前文件所遵循的 Desktop Entry 文件标准版本。这是应用程序的描述,通常会在搜索应用程序的界面看到这个描述(鼠标放到应用程序图标上时)。同样的作用,表明使用中文。[]里面可以书写多国语言。必填,启动路径,必须为绝对路径。可选,应用程序通用名称。可选,熟悉web开发的人员应当十分熟悉,这是表明映射。原创 2023-04-24 15:10:02 · 766 阅读 · 2 评论 -
C++ 结构体数据读写文件 fopen fclose fwrite wread fseek函数详情
fopen fclose fwrite wread fseek 函数详情,使用案例原创 2023-03-27 17:14:08 · 3594 阅读 · 0 评论 -
QMetaEnum和Q_ENUM以及遇到的问题
1.error: static assertion failed: QMetaEnum::fromType only works with enums declared as Q_ENUM or Q_FLAG Q_STATIC_ASSERT_X(QtPrivate::IsQEnumHelper::Value, 2.error: ‘qt_getEnumMetaObject’ was not declared in this scope const QMetaObject *metaObject =原创 2023-03-16 17:30:25 · 943 阅读 · 1 评论 -
QT 使用fontawesome-webfont.ttf 字体库加载基础图标
2. 下载解压之后找到如下路径中的字体库,并添加到QT资源中。原创 2023-03-13 15:48:20 · 804 阅读 · 0 评论 -
QT中英文语言切换 文件的生成以及使用
QT中英文语言切换 文件的生成以及使用原创 2023-02-08 16:36:04 · 1932 阅读 · 0 评论 -
opencv常用函数,QT中Mat与QImage的转换
opencv简介,常用函数,Mat常用构造,通道介绍,QT中Mat与QImage的转换原创 2023-01-19 15:59:49 · 3957 阅读 · 1 评论 -
flatbuffers(c++)的深入理解和使用案例(二)
flatbuffers的详细介绍和使用案例原创 2022-08-29 11:21:25 · 2921 阅读 · 0 评论 -
QtSingleApplication(只允许运行一个实例)使用教程
QtSingleApplication(只允许运行一个实例)使用教程原创 2022-08-16 15:30:26 · 1811 阅读 · 2 评论 -
Windows下打包QT程序
1.创建一个记事本,将后缀改为.bat。并创建一个Test_install文件夹。2.编译程序,拷贝QT库文件,我的程序名称为Test。3.如果还需要其他QT的模块的库,也需要复制过来。比如我的需要Qt5WebSockets.dll库。4.如果需要自己编译的库,写入编译库的过程再复制过来。内容如下:(放到"::拷贝所需的QT库文件"内容的前面,因为会改变当前路径)5.双击.bat文件即可。...原创 2022-07-13 15:27:08 · 660 阅读 · 0 评论 -
Linux下的QT程序的打包、运行、和关闭程序教程整理
Ubuntu和CentOS7下的QT程序的打包、运行、和关闭教程原创 2022-07-06 18:27:08 · 5186 阅读 · 2 评论 -
基于QT的QtHttpServer轻量级服务器+QtHttpServer的使用
QtHttpServer是某位大佬开发的一个基于QT的QtHttpServer轻量级服务器。由于本人编译源码不成功,直接从网上找到已经编译好的代码,直接编译可得到QtHttpServer的相关库。下面介绍一下QtHttpServer的使用。...............原创 2022-07-05 09:58:13 · 2961 阅读 · 0 评论 -
安装的QT中的MSVC编译器没有默认调试器(工具中选项窗口中构建组件前带有黄色感叹号)解决办法
下载完QT打开,发现工具中选项窗口中构建组件前带有黄色感叹号,这是MSVC编译器没有默认cdb调试器的原因。原创 2022-06-01 18:32:59 · 3169 阅读 · 1 评论 -
QT中使用C++ socket通信(了解socket通信、socket的三次握手和四次挥手、socket函数说明、客户端与服务端的代码实例)
了解socket通信、socket的三次握手和四次挥手、socket函数说明、客户端与服务端的代码实例原创 2022-05-13 11:10:24 · 4728 阅读 · 1 评论 -
QT 常见控件样式表(QPushButton、QRadioButton、QCheckBox、QScrollBar、QTableView、QTableWidget、QComboBox、QSlider)
background-image:设置背景图片(根据图片大小)border-image:设置背景图片(根据控件大小)background-color:设置背景颜色border-color:设置边框颜色color:设置字体颜色border:设置边框 例:border:1px solid red;border-radius:设置边框圆角 /*左上 右上 右下 左下*/ border-top-left-radius:设置单个圆角font:设置字体text-align: 设置原创 2022-04-30 11:43:39 · 11811 阅读 · 0 评论 -
QScriptEngine编译JavaScript
一、编译1.脚本函数的编译:QScriptValueQScriptEngine::evaluate(const QString&program, const QString&fileName = QString(), int lineNumber = 1)参数program为需要编译的脚本内容。!!!需要注意的是:脚本内容需要用英文字符“()”括起来。例如:需要编译的脚本为:QString strText = ”function myfun(a,b){ return...原创 2022-03-02 17:13:27 · 685 阅读 · 1 评论 -
QT moveToThread线程理解
一、moveToThread创建开启线程步骤:(1)创建继承自QObject类,实现槽函数。(2)将QObject类通过moveToThread方法移到QThread线程中,使QObject类依附于线程。(3)连接信号槽,槽必须是QObject类中函数。(4)QThread调用start开启线程。二、程序代码:#ifndef MYOBJECT_H#define MYOBJECT_H #include <QObject>#include <QTimer>原创 2022-02-22 17:16:41 · 7473 阅读 · 5 评论 -
QT connect第五个参数
一、介绍 1. Qt::AutoConnection: 默认连接,连接类型在信号发出时确定。如果接收者和发送者在同一个线程,使用Qt::DirectConnection类型。如果接收者和发送者不在一个线程,则使用Qt::QueuedConnection类型。 2. Qt::DirectConnection:直接连接,当信号发出时,槽被立即调用。槽在发送信号的线程中执行。 无论槽函数所属对象在哪个线程,槽函数都在发射信号的线程内执行。 3. Q...原创 2022-02-22 17:11:45 · 457 阅读 · 0 评论 -
QT 信号槽返回值
一、方法获取信号槽返回值的方法有三种:(1)通过形参的方式,传递引用或者指针。(未写例子)(2)直接在信号发出位置获取返回值。(下面有例子)(3)通过QMetaObject::invokeMethod方法。(具体使用可以参考QT的帮助文档或者看下面的代码实例)二、代码#ifndef WRITETHREAD_H#define WRITETHREAD_H #include <QObject> class WriteThread : public QObject{原创 2022-02-22 17:03:57 · 6727 阅读 · 1 评论 -
QT 创建使用动态库
一、创建并编译库创建项目,选择Library下的C++ Library2.选择shared library3.此时创建的项目的.pro文件如下:QT -= guiTEMPLATE = libDEFINES += Data_LIBRARYDEFINES += QT_DEPRECATED_WARNINGSSOURCES += \library.cppHEADERS += \Data_global.h \library.hunix {target.path = /us原创 2022-02-22 16:57:51 · 6025 阅读 · 1 评论