1. 简介 目前最新的Qt Creator已更新至16.0.1,支持两个AI插件可用于辅助我们编写代码,分别是GitHub Copilot和AI Assistant 官方介绍: Qt AI Assistant Experimental Released Qt AI Assistant v0.9 Released – Deploy LLMs Loca…
在VTK (Visualization Toolkit)中,如果需要创建二维文字标签可以使用vtkTextActor很方便的实现,但是二维文字标签使用窗口上相对的二维坐标,是独立于显示三维模型窗口的。 那么想要同三维模型一起显示在窗口内,共同使用三维坐标系,就要考虑使用三维文字标签,VTK提供了几种方式来实现三维场景中的文字标签功能。 1. vtk…
使用vtkVolume对只有一层(第三维度为1)的vtkImageData数据进行体渲染时,可能会导致渲染出来的图像没有厚度甚至渲染失败。 当vtkImageData只有一层时,它实际上是一个二维图像,而不是一个三维体积,而vtkSmartVolumeMapper通常用于三维体积渲染。因此在处理二维数据时可能会导致VTK默认认为该二维数据的厚度为零…
1. 枚举enum 传统的枚举类型,帮助开发者快速定义一系列整形常量。关于枚举类型的介绍和使用在这里不再过多介绍,示例如下: class MyClass{ public: enum Color { RED, // 0 GREEN, // 1 BLUE // 2 }; }; 相比于enum class的特点: enum的成员直接暴露在其定义的作用域中…
本文对普通变量、普通类对象在初始化时使用()和{}的情况进行区分说明,以免混淆不清。 一般使用()是使用构造函数初始化,使用{}是使用列表初始化,如下。 1. 基本初始化(略过) 这里大概对基本初始化方式做一个归纳 1.1 默认初始化 即只声明,让其调用默认构造函数。 对于基本变量类型(如int、double...),只声明就不会定义具体的初始值。…
方法一 说在前面:本方法比较通用,但经过我的使用,发现其存在问题,而下面方法二正常使用 存在问题:在窗口置顶后,会自动隐藏,即便在设置窗口置顶后手动对窗口使用show()或setVisible(true)等方法显示出来,也会出现窗口闪烁的现象,极不自然。 对你的主窗口QMainWindow或者主控件QWidget使用以下方法,都是Qt自带的。 窗口…
最近在使用connect连接信号与槽并且传参的时候,报了如下错误: QObject::connect: Cannot queue arguments of type 'QMap<int, QString>' (Make sure 'QMap<int, QString>' is regi…
1.前言 这两者的区别大家应该都知道,至于为什么我想写这一篇小记,主要是以前几乎不用vtkNew,最近想用一用,然后在不经意间出现了如下报错: error: C2280: “vtkNew<vtkImageData>::vtkNew(const vtkNew<vtkImageData> &)”: 尝试引用已删除的函数 …
1. 使用vtk提供的格式转换方法 以XML格式为例: vtk库中支持多种格式的读写转换,比如利用XML格式,可以将vtkPolyData格式序列化为string类型,直接使用vtk库中的 vtkXMLPolyDataWriter 方法进行序列化 ,以及 vtkXMLPolyDataReader 方法解序列化。 示例: // 读vtkPolyDat…
1. 避免创建过多中间变量 过多的中间变量不利于代码的可读性,还会增加内存的使用,而且可能导致额外的计算开销。 将用于同一种情况的变量统一管理,可以使用一种通用的变量来代替多个变量。 2. 函数中习惯使用引用传参而不是返回值赋值 常有的一种情况是,需要使用函数进行计算或处理数据,并通过其返回值获得结果。 对于简单的计算或处理,直接使用返回值返回结果…