Qt OpenGL 蒙板
摘要:这次教程中,我们教介绍OpenGL的蒙板技术。到目前为止,我们已经学会如何使用alpha混合,把一个透明物体渲染到屏幕上了,但有时使用它看起来并不是那么的复合我们的心意。使用蒙板技术,将会使图像按照我们设定的蒙板位置精确地绘制。 直到现在,我们在把图像加载到屏幕上时都没有檫除背景色,因为这样简单高效
阅读全文
posted @
2020-11-27 16:02
一杯清酒邀明月
阅读(374)
推荐(0) 编辑
Qt OpenGL 粒子系统
摘要:这次教程中,我们将创建一个简单的粒子系统,并用它来创建一种喷射效果。利用粒子系统,我们可以实现爆炸、喷泉、流星之类的效果,听起来是不是很棒呢! 我们还会讲到一个新东西,三角形带(我的理解就是画很多三角形来组合成我们要的形状),它非常容易使用,而且当需要画很多三角形的时候,它能加快你程序的运行速度。这
阅读全文
posted @
2020-11-27 15:59
一杯清酒邀明月
阅读(1038)
推荐(1) 编辑
Qt OpenGL 二次几何体
摘要:这次教程中,我将介绍二次几何体。利用二次几何体,我们可以很容易创建球、圆盘、圆柱和圆锥。 我们先介绍一下二次几何体GLUquadric(NeHe教程用的是GLUquadricObj,源代码中GLUquadricObj是GLUquadric的别名),其实它本质上是一个二次方程,即a1x^2 + a2y
阅读全文
posted @
2020-11-27 15:55
一杯清酒邀明月
阅读(617)
推荐(0) 编辑
Qt OpenGL 2D图像文字
摘要:这次教程中,我们将学会如何使用四边形纹理贴图把文字显示在屏幕上。我们将把256个不同的文字从一个256×256的纹理图像中一个个提取出来,接着创建一个输出函数来创建任意我们希望的文字。 还记得在第一篇字体教程中我提到使用纹理在屏幕上绘制文字吗?通常当你使用纹理绘制文字时你会调用你最喜欢的图像处理程序
阅读全文
posted @
2020-11-27 15:51
一杯清酒邀明月
阅读(1528)
推荐(0) 编辑
Qt OpenGL 看起来很酷的雾
摘要:这次教程中,我们将在第07课代码的基础上,为木箱的四周填上雾效果。我们将会学习三种不同的雾模式,以及怎么设置雾的颜色和雾的范围。虽然这次教程非常简单,但我们得到的雾效果确实很棒!希望大家能喜欢,当然你也可以把雾效果加到任何一个OpenGL程序中,我相信总能檫出美丽的火花! 程序运行时效果如下: 下面
阅读全文
posted @
2020-11-27 15:48
一杯清酒邀明月
阅读(479)
推荐(0) 编辑
Qt OpenGL 图形字体的纹理映射
摘要:这次教程中,我们将在第14课的基础上创建带有纹理的字体,它真的很简单。也许你想知道如何才能给字体赋予纹理贴图?我们可以使用自动纹理坐标生成器,它会自动为字体上的每一个多边形生成纹理坐标。 这次课中我们还将使用Wingdings字体来显示一个海盗旗(骷髅头和十字骨头)的标志,为此我们需要修改build
阅读全文
posted @
2020-11-27 15:44
一杯清酒邀明月
阅读(501)
推荐(0) 编辑
Qt OpenGL 轮廓字体
摘要:这次教程中,我将教大家绘制3D的轮廓字体,当然肯定不是贴图方式了,它们可像一般的3D模型一样进行旋转,放缩。 创建轮廓字体的方法与13课位图的位图字体类似,但轮廓字体要酷得多!轮廓字体可以在屏幕中以3D方式旋转,而且轮廓字体还可以有一定的厚度,而不再是平面的2D字符了。使用轮廓字体,我们可以将计算机
阅读全文
posted @
2020-11-27 15:37
一杯清酒邀明月
阅读(674)
推荐(0) 编辑
Qt OpenGL 位图字体
摘要:这次教程中,我们将创建一些基于2D图像的字体,它们可以缩放平移,但不能旋转,并且总是面向前方,但作为基本的显示来说,我想已经足够了。 或者对于这次教程,你会觉得“在屏幕上显示文字没什么难的”,但是你真正尝试过就会知道,它确实没那么容易。你当然可以把文字写在一个图片上,再把这幅图片载入你的OpenGL
阅读全文
posted @
2020-11-27 15:32
一杯清酒邀明月
阅读(1099)
推荐(0) 编辑
Qt OpenGL 显示列表
摘要:想知道如何加速我们的OpenGL程序么?这次教程中,我将告诉你如何使用OpenGL的显示列表,它通过预编译OpenGL命令来加速我们的程序,并可以为我们省去很多重复的代码,听起来是不是很棒呢! 当我们在制作游戏里的小行星场景时,每一层至少需要两个行星,你可以用OpenGL中的多边形来构造每一个行星。
阅读全文
posted @
2020-11-27 15:28
一杯清酒邀明月
阅读(497)
推荐(0) 编辑
Qt OpenGL 旗帜效果(飘动的纹理)
摘要:这次教程中,我将教大家如何创建一个飘动的旗帜。我们所要创建的旗帜,说白了就是一个以正弦波方式运动的纹理映射图像。虽然不会很难,但效果确实很不错,希望大家能喜欢。当然这次教程是基于第06课的,希望大家确保已经掌握了前6课再进入本次教程。 程序运行时效果如下: 下面进入教程: 我们这次将在第06课的基础
阅读全文
posted @
2020-11-27 15:23
一杯清酒邀明月
阅读(568)
推荐(0) 编辑
Qt OpenGL 加载3D世界,并在其中漫游
摘要:这次教程中,我将教大家如何加载一个3D世界,并在3D世界中漫游。这相较于我们只能创造一个旋转的立方体或一群星星时有很大的进步了,当然这节课代码难度不低,但也不会很难,只要你跟着我慢慢一步一步来。 一个3D世界当然不像我们之前那样,只要几个对象就搞定了,因此,我们会选择将3D环境用数据来表达,并存放在
阅读全文
posted @
2020-11-27 15:15
一杯清酒邀明月
阅读(639)
推荐(0) 编辑
Qt OpenGL 在3D空间中移动位图
摘要:想知道如何在3D空间中移动物体,想知道如何在屏幕上绘制一个图像,而让图像的背景色变为透明,希望有一个简单的动画。这次教程中将教会你所以的一切。当然,这一课是在前面几课知识的基础上创建的,请确保你已经掌握了前面几课的知识,再进入本课教程。 欢迎进入这次教程,这一课将是前面几课的综合。前面的学习中,我们
阅读全文
posted @
2020-11-27 15:08
一杯清酒邀明月
阅读(476)
推荐(0) 编辑
Qt OpenGL 混合
摘要:这次教程中,我们将在纹理映射的基础上加上混合,使它看起来具有透明的效果,当然解释它不是那么容易但代码并不难,希望你喜欢它。 OpenGL中的绝大多数特效都与某些类型的(色彩)混合有关。混色的定义为,将某个像素的颜色和已绘制在屏幕上与其对应的像素颜色相互结合。至于如何结合这两种颜色则依赖于颜色的alp
阅读全文
posted @
2020-11-27 15:03
一杯清酒邀明月
阅读(565)
推荐(0) 编辑
Qt OpenGL 光照和键盘控制
摘要:这次教程中,我们将添加光照和键盘控制,它让程序看起来更美观。我将教大家如何使用键盘来移动场景中的对象,还会教大家在OpenGL场景中应用简单的光照,让我们的程序更加视觉效果更好且受我们控制。 程序运行时效果如下: 下面进入教程: 我们这次将在第06课的基础上修改代码,首先打开myglwidget.h
阅读全文
posted @
2020-11-27 14:59
一杯清酒邀明月
阅读(596)
推荐(0) 编辑
Qt OpenGL 纹理映射
摘要:这次教程中,我教会大家如何把纹理映射到立方体的六个面上。学习texture map(纹理映射)有诸多好处。比如说想让一颗导弹飞过屏幕。根据前几课的知识,我们最可行的办法可能是很多个多边形来构建导弹的轮廓并加上有趣的颜色。而使用纹理映射,我们可以使用真实的导弹图像并让它飞过屏幕。你觉得哪个更好看?使用
阅读全文
posted @
2020-11-27 14:55
一杯清酒邀明月
阅读(582)
推荐(0) 编辑
Qt OpenGL 3D模型
摘要:这次教程中,我们将之前几课的基础上,教大家如何创建立体的3D模型。我们将开始生成真正的3D对象,而不是像之前那几课那样3D世界中的2D对象。我们会把之前的三角形变为立体的金字塔模型,把四边形变为立方体。 我们给三角形增加左侧面、右侧面、后侧面来生成一个金字塔。给正方形增加左、右、上、下及背面生成一个
阅读全文
posted @
2020-11-27 14:51
一杯清酒邀明月
阅读(746)
推荐(0) 编辑
Qt OpenGL 旋转
摘要:这次教程中,我们将在第03课的基础上,教大家如何旋转三角形和四边形。我们将让三角形沿y轴旋转,四边形沿x轴旋转,最终我们能得到一个三角形和四边形自动旋转的场景。 程序运行时效果如下: 下面进入教程: 首先打开myglwidget.h文件,我们需要增加两个变量来控制这两个对象的旋转。这两个变量加在类的
阅读全文
posted @
2020-11-27 14:49
一杯清酒邀明月
阅读(732)
推荐(0) 编辑
Qt OpenGL 添加颜色
摘要:这次教程中,我们将在第02课的基础上,教大家如何使用颜色。我们将一起理解两种着色模式(光滑着色与平面着色),并运用这两种模式分别给第02课的三角形和正方形着色。我们将使用平面着色给四边形着色,即给三角形涂上一种固定的颜色;使用平滑着色给三角形着色,将三角形的三个顶点的不同颜色混合在一起,创建漂亮的色
阅读全文
posted @
2020-11-27 14:37
一杯清酒邀明月
阅读(509)
推荐(0) 编辑
Qt OpenGL 你的第一个多边形
摘要:这次教程中,我们将添加一个三角形和一个四边形。或许你认为这很简单,但要知道任何复杂的绘图都是从简单开始的,或者说任何复杂的模型都是可以分解成简单的图形的。所以,我们还是从简单的图形开始吧。 读完这一次教程,你还会学到如何在空间放置模型以及了解OpenGL中坐标变化。 程序运行时效果如下: 下面进入教
阅读全文
posted @
2020-11-27 14:35
一杯清酒邀明月
阅读(607)
推荐(0) 编辑
Qt OpenGL 创建一个OpenGL窗口
摘要:在这个教程里,我们将在Qt Creator环境中创建OpenGL对象,它将显示一个空的OpenGL窗口,可以在窗口和全屏模式下切换,按ESC退出,它将是我们后面应用程序的基础框架。 Qt中写OpenGL与在VC上还是有不少差别的,对Qt机制不熟悉的朋友,请先大致了解下Qt的机制,再往下看教程。 程序
阅读全文
posted @
2020-11-27 14:29
一杯清酒邀明月
阅读(1073)
推荐(0) 编辑
VTK 模型的旋转与平移
摘要:当从外界读入STL等三维模型时,其会按照它内部的坐标位置进行显示。因此它的位置和大小是确定的。但是在实际应用中,有可能需要人为地对这个模型在空间中进行旋转、平移或缩放等操作。VTK中有许多和旋转、平移相关的函数,下面一一进行测试。 RotateX、RotateY、RotateZ(绕自身坐标轴旋转)
阅读全文
posted @
2020-11-26 16:35
一杯清酒邀明月
阅读(3248)
推荐(0) 编辑
VTK 空间几何变换(Transform),平移、旋转和缩放
摘要:先看下面的模型,这是一个Cow的三维模型, 在使用中,你是否会有下面的操作? 1.将Cow移动到某个位置——平移 2.转动到Cow背面——旋转 3.改变它大小——缩放 等等 可能你会说,这还不简单,通过操作相机就好了。然而并不是这样,操作相机,只使得相机的空间位置发生了变化,对三维物体并没有改变,要
阅读全文
posted @
2020-11-26 16:31
一杯清酒邀明月
阅读(7292)
推荐(0) 编辑
VTK 对象绘制 3D坐标轴(vtkCubeAxesActor)
摘要:5.1 3D坐标轴(vtkCubeAxesActor) 5.1.1 对象接口说明 SetXAxisLabelVisibility(vtkTypeBool) SetYAxisLabelVisibility(vtkTypeBool) SetZAxisLabelVisibility(vtkTypeBool
阅读全文
posted @
2020-11-26 14:36
一杯清酒邀明月
阅读(5047)
推荐(0) 编辑
VTK 颜色映射之颜色插值
摘要:vtk颜色映射之颜色插值 两张效果图:,第一张是没有设置插值。第二张是设置了。在这里插入图片描述 处理方式: 1.设置颜色的分块 1 vtkSmartPointer hueLut = vtkLookupTable::SafeDownCast( datamap->GetLookupTable());
阅读全文
posted @
2020-11-24 15:51
一杯清酒邀明月
阅读(1183)
推荐(1) 编辑
VTK 模型的颜色映射
摘要:1 #include <vtkActor.h> 2 #include <vtkFloatArray.h> 3 #include <vtkLookupTable.h> 4 #include <vtkPointData.h> 5 #include <vtkPolyData.h> 6 #include <
阅读全文
posted @
2020-11-24 15:46
一杯清酒邀明月
阅读(1612)
推荐(1) 编辑
VTK 如何不使用qvtkwidget,而直接把vtk出口嵌入qt窗口中
摘要:1. vtkSmartPointer<vtkRenderWindow> renderWindow = ui.qvtkWidget->GetRenderWindow();//vtkSmartPointer<vtkRenderWindow>::New(); 2. 1 QWidget* widget; 2
阅读全文
posted @
2020-11-24 15:21
一杯清酒邀明月
阅读(1884)
推荐(0) 编辑
VTK vtkRenderWindow 与vtkRenderWindowInteractor详解
摘要:vtkRenderWindowInteractor用于获取渲染窗口上发生的鼠标,键盘,事件事件。该类提供了独立于平台的与渲染窗口进行交互的机制,包括picking 和帧速率控制。当vtkRenderWindowInteractor(事实上是他的一个子类)观察到平台的某个事件发生时,他就通过Invok
阅读全文
posted @
2020-11-24 15:20
一杯清酒邀明月
阅读(2481)
推荐(0) 编辑
Qt 将界面程序封装成动态库DLL
摘要:1.生成dll 然后选择创建共享库: 创建好后,修改pro文件,改为下面两句(这样就可以创建界面了): 然后修改sharedlib.h: #ifndef SHAREDLIB_H #define SHAREDLIB_H #include <QtCore/qglobal.h> #if defined(S
阅读全文
posted @
2020-11-23 17:05
一杯清酒邀明月
阅读(2485)
推荐(0) 编辑
Qt 界面做成dll以便调用
摘要:1、将界面做成dll 修改pro文件 1 DEFINES += WIDGETDLL_LIBRARY 2 TEMPLATE = lib 修改头文件 1 #if defined(WIDGETDLL_LIBRARY) 2 # define WIDGETDLLSHARED_EXPORT Q_DECL_EXP
阅读全文
posted @
2020-11-23 15:31
一杯清酒邀明月
阅读(790)
推荐(0) 编辑
Qt 将带界面的程序封装成dll
摘要:1.修改配置文件 1 #TEMPLATE = app 2 3 DEFINES += CUSTOMMESSAGEBOX_LIBRARY 4 TEMPLATE = lib 2.在导出类的头文件上加如下代码 1 #if defined(CUSTOMMESSAGEBOX_LIBRARY) 2 # defin
阅读全文
posted @
2020-11-23 15:27
一杯清酒邀明月
阅读(1361)
推荐(0) 编辑
Qt 开发的界面程序封装成DLL,在VC中成功调用
摘要:最近手头的一个项目需要做一个QT界面,并且封装成DLL,然后再动态调用DLL给出的接口函数,使封装在DLL内部的QT界面跑起来,在网上查了很多资料,今天终于成功了,经验不敢独享,因为CSDN给了我很多帮助,将心得写在这里供大家参考。 PS:本文中谈的是用QT封装一个包含界面的DLL,然后在其他任何地
阅读全文
posted @
2020-11-23 14:54
一杯清酒邀明月
阅读(926)
推荐(0) 编辑
同时安装PyQt4和PyQt5之sip版本区分
摘要:如果同时安装了PyQt4和PyQt5(自己编译或者安装预编译版本),在运行某个PyQt4或者PyQt5的Python脚本时,很有可能出现以下的错误提示: RuntimeError: the sip module implements API vX.X but the PyQt5.QtCore mod
阅读全文
posted @
2020-11-23 09:20
一杯清酒邀明月
阅读(753)
推荐(0) 编辑
【已解决】relocation error: symbol version Qt_5_PRIVATE_API not defined in libQt5Gui.so.5 with link time
摘要:问题描述: 在anaconda的虚拟环境里, 1 import matplotlib.pyplot as plt 2 plt.figure() 运行报错如下: 1 relocation error: 2 /home/watson/anaconda3/lib/libQt5XcbQpa.so.5: 3
阅读全文
posted @
2020-11-23 09:17
一杯清酒邀明月
阅读(3365)
推荐(0) 编辑
Qt 生成dll和调用详细图文教程
摘要:一、DLL的生成1.1首先创建一个lib工程,如下图所示: 1.2创建完成后,生成一个带dll.h的头文件和一个dll_global.h头文件。双击打开带dll.h的头文件,如下图所示:1.3在dll.h头文件的public中,加入如下代码:int add(int a,int b);如下图所示:1.
阅读全文
posted @
2020-11-20 11:29
一杯清酒邀明月
阅读(3032)
推荐(0) 编辑
[C/C++] LIB和DLL的区别与联系
摘要:在讲解.h .lib .dll的关系时,回顾一下C/C++从源文件到.exe的过程: 上图可以帮助我们理解C/C++的构建过程,当你有了一些开发经验之后,你会遇到.lib .dll两种文件,很容易把人绕晕,结合上图,总结一下为什么要使用.lib和.dll,以及他们的区别. 实际上,假如我们引用了在其
阅读全文
posted @
2020-11-20 10:54
一杯清酒邀明月
阅读(494)
推荐(0) 编辑
静态编译,动态编译,静态库,动态库的区别
摘要:周五晚,小雨,少见的未加班。无聊,遂准备写一篇博客,介绍一下C和C++运行库,只因发现工作几年的人对此一知半解的大有人在。 在使用VC构建项目时,经常会遇到下面的链接错误: 初学者面对这些错误常常不知所错:libcmt.lib是什么东西?msvcrtd.dll又是干吗用的?在使用VC++时我们也常常
阅读全文
posted @
2020-11-20 10:40
一杯清酒邀明月
阅读(725)
推荐(0) 编辑
Qt “$$"符号的讲解
摘要:一.方便调试pro工程 举例方便理解。 在.pro文件中添加如下代码。 编译运行后在“概要信息”可以看到如下结果。 若将$$去掉,则打印的内容为message括号里本身的内容。 保存后可以看到 二.方便其他工程引用 新建一个.pri文件,在.pri文件中添加代码 PROJECT_ROOT =$$PW
阅读全文
posted @
2020-11-20 10:23
一杯清酒邀明月
阅读(1867)
推荐(0) 编辑
VTK 设置渐变背景色效果
摘要:最近想在自己的矩量法软件中设置渐变背景色效果,查了VTK手册及源码终于找到了方法,此处记录一下,以防遗忘。 VTK场景中的背景色可通过添加的renderer来设置。VTK的绘制过程网上有一堆资料,此处只记录背景色设置部分。 1 renderer->SetBackground(1.0, 1.0, 1.
阅读全文
posted @
2020-11-16 16:14
一杯清酒邀明月
阅读(1461)
推荐(0) 编辑
VTK 光照、颜色、相机、坐标系统及空间变换
摘要:1、vtkLight常的方法有: SetColor() — 设置光照的颜色,以RGB的形式指定颜色。 SetPosition() — 设置光照位置。 SetFocalPoint() — 设置光照焦点。 SetIntensity() — 设置光照的强度。 SetSwitch() / SwitchOn(
阅读全文
posted @
2020-11-16 16:08
一杯清酒邀明月
阅读(2302)
推荐(0) 编辑
VTK vtkpolydata图形着色
摘要:颜色可以直接作为一种标量属性数据,设置到相应的点或者单元数据中,这是最直接的一种图形着色方式。 1.需求 根据vtkLookupTable为点设置相对应的颜色,在这里我们需要首先为点设置标量属性值。 2.代码 1 #include <vtkSmartPointer.h> 2 #include <vt
阅读全文
posted @
2020-11-16 13:59
一杯清酒邀明月
阅读(1387)
推荐(0) 编辑
VTK 图形处理之颜色映射
摘要:颜色映射 颜色映射的操作对象是数据集中的标量属性。它是一种常用的 标量算法。它会根据数据集中各个部分不同的标量值,对各个部分上不同的颜色。与此相关的另一种上色方法是控制演员的颜色属性,但这样整个图形只有单一的颜色,这显然没有颜色映射方法灵活。 创建多边形数据集程序运行 结果显示的彩色立方体就用到了颜
阅读全文
posted @
2020-11-16 13:57
一杯清酒邀明月
阅读(2477)
推荐(1) 编辑
Qt QCombBox 控件设置下拉选项中某项不可选
摘要:1 QComboBox *editor = new QComboBox(this); 2 comboBox->addItems(QStringList()<<tr("Always")<<tr("Never")<<tr("Motion detection")<<tr("Timer recording"
阅读全文
posted @
2020-11-16 09:17
一杯清酒邀明月
阅读(1045)
推荐(0) 编辑
基于VTK的三维重建
摘要:0. Background 很久很久以前记录了一下使用WPF进行三维重建的一些探索,后来了解到了VTK这个开发包, 觉得功能很强大,因此后续都在基于VTK进行三维重建,在前文中对于VTK的一些相关网站进行了介绍 http://www.cnblogs.com/dawnWind/archive/2013
阅读全文
posted @
2020-11-13 15:55
一杯清酒邀明月
阅读(2800)
推荐(0) 编辑
VTK读取序列JPG图片MC算法进行三维重建
摘要:VTK读取序列JPG图片用MC算法进行三维重建,JPG图片是用底层代码插值生成 1 #include <vtkRenderer.h> 2 #include <vtkRenderWindow.h> 3 #include <vtkRenderWindowInteractor.h> 4 #include
阅读全文
posted @
2020-11-13 14:11
一杯清酒邀明月
阅读(1064)
推荐(0) 编辑
图像质量评估-锐度
摘要:一、锐度介绍 锐度是衡量图像质量的最重要的因素之一,它反应了图像细节数量的多少。锐度是由不同色调或颜色区域之间的边界定义的。目前主流的办法主要有三种TV line检测,MTF检测,和SFR 检测。 TV line TV line主要用于主观测试,也有一些读取TV line的软件如HYRes。但是总体
阅读全文
posted @
2020-11-13 09:21
一杯清酒邀明月
阅读(1167)
推荐(0) 编辑
VTK SetInputData()和 SetInputConnection()替换SetInput()
摘要:VTK6引入了一些向后不兼容的更改。这里更详细地描述了这些变化背后的原因。其中一个更改是使用SetInputData()和SetInputConnection()替换SetInput()。 VTK4中管道对象连接连接 someFilter - > SetInput ( someReader - >
阅读全文
posted @
2020-11-10 16:29
一杯清酒邀明月
阅读(1165)
推荐(0) 编辑
VTK二维图像的三维显示
摘要:1 #include "vtkJPEGReader.h" 2 #include "vtkImageDataGeometryFilter.h" 3 #include "vtkWarpScalar.h" 4 #include "vtkPolyDataMapper.h" 5 #include "vtkAc
阅读全文
posted @
2020-11-10 16:22
一杯清酒邀明月
阅读(991)
推荐(0) 编辑
VtkTransform 和 SetPosition的区别
摘要:想要对原始数据进行位置操作,一定要搞清楚VtkTransform 和 SetPosition的区别啊!!!SetPosition这是改变Actor的显示位置,原始数据的位置是不变的,而VtkTransform是对原始数据进行平移,旋转的,是改变原始数据位置的,切记别入坑。 1 #include <v
阅读全文
posted @
2020-11-10 13:43
一杯清酒邀明月
阅读(561)
推荐(1) 编辑
Qt QList 遍历元素
摘要:1:foreach 方式 1 // QList<outNode*> list; 2 foreach (outNode *i, list) 3 { 4 if (i->sn == tmpNode->sn) 5 { 6 qDebug() << "find in list!"; 7 } 8 } 2:for
阅读全文
posted @
2020-11-10 11:38
一杯清酒邀明月
阅读(15172)
推荐(1) 编辑
Qt QList详解
摘要:1、QList是一种表示链表的模板类。 2、QList是Qt的一种泛型容器类。它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作。 3、QList、QLinkedList和QVector提供的操作极其相似:* 对大多数操作来说,我们用QList就可以了。其API是基于索
阅读全文
posted @
2020-11-10 11:37
一杯清酒邀明月
阅读(6650)
推荐(0) 编辑
QT QList介绍及应用
摘要:QList是目前最常用的容器类,它存储了给定类型的值的一个列表,而这些值可以通过索引访问。QList使用数组来实现,以确保进行快速的基于索引的访问。使用QList::append和QList::prepend在列表的两端进行添加项目。使用QList::insert()在列表的中间插入项目。实例: 1
阅读全文
posted @
2020-11-10 11:34
一杯清酒邀明月
阅读(7836)
推荐(0) 编辑
Qt 生成随机区间浮点数 generateRand
摘要:1 //生成随机数 2 float MainWindow::generateRand(float min, float max) 3 { 4 static bool seedStatus; 5 if (!seedStatus) 6 { 7 qsrand(QTime(0, 0, 0).secsTo(Q
阅读全文
posted @
2020-11-10 11:33
一杯清酒邀明月
阅读(1929)
推荐(0) 编辑
Qt qsrand qrand 产生随机数的两只方法
摘要:第一种方法 1 #include <QTime> 2 #include <QtGlobal> 1 QTime time; 2 time= QTime::currentTime(); 3 qsrand(time.msec()+time.second()*1000); 4 int n = qrand()
阅读全文
posted @
2020-11-10 11:00
一杯清酒邀明月
阅读(1151)
推荐(1) 编辑
Qt QStringLiteral
摘要:QStringLiteral 是Qt5中新引入的一个用来从“字符串常量”创建QString对象的宏(字符串常量指在源码中由”"包含的字符串)。在这篇博客我讲解释它的的内部实现和工作原理。 提要 让我们从它的使用环境开始说起: 假设你想要在Qt5中从字符串常量初始化一个QString对象,你应该这样:
阅读全文
posted @
2020-11-09 15:43
一杯清酒邀明月
阅读(2065)
推荐(0) 编辑
Qt QMap简单用法
摘要:QMap提供了一个从类项为key的键到类项为T的直的映射,通常所存储的数据类型是一个键对应一个直,并且按照Key的次序存储数据,这个类也支持一键多值的情况,用类QMultiMap QHash具有和QMap几乎完全一样的APi,此类维护这一张哈希表,表的大小和数据项是自适应的,QHash是以任意的顺序
阅读全文
posted @
2020-11-09 15:41
一杯清酒邀明月
阅读(4822)
推荐(2) 编辑
Qt 遍历QMap
摘要:1 QMap<QString, QString>::iterator iter = m_map.begin(); 2 while (iter != m_map.end()) 3 { 4 qDebug() << "Iterator " << iter.key() << ":" << iter.valu
阅读全文
posted @
2020-11-09 15:37
一杯清酒邀明月
阅读(9219)
推荐(2) 编辑
Qt QMap键值对基本用法(键值对)
摘要:本文主要总结Qt中键值对QMap的基本用法。 1.1原型讲解 QMap是一个键值对类,跟标准C++的map类基本类似,声明原型如下: QMap<T1,T2> map1 T1为键值对中的键key,T2为键值对中的值。通过键值对中的键可以搜索到值。一般来说,键值对中的键是唯一的,不可重复,而值没有要求,
阅读全文
posted @
2020-11-09 15:26
一杯清酒邀明月
阅读(5011)
推荐(0) 编辑
Qt qtpropertybrowser属性列表的使用
摘要:1.首先需要安装src 2.pro里添加 include($$[QT_INSTALL_PREFIX]/../Src/qttools/src/shared/qtpropertybrowser/qtpropertybrowser.pri) 3.MainWindow.h 在界面上添加一个widget,然后
阅读全文
posted @
2020-11-09 14:29
一杯清酒邀明月
阅读(2665)
推荐(0) 编辑
Qt 属性表控件的使用 QtTreePropertyBrowser
摘要:1.简介 属性表是vs2003时引入的的新控件,用于流量和设置大量的信息,现在,很多软件上都能看到它的身影,如vs,Qt Creator等IDE的详细设置里都离不开属性表。 下图是Qt Creator里的属性表 虽然,再Qt Creator里,属性表到处可见,但是,却没有集成到常用控件里面,vs20
阅读全文
posted @
2020-11-09 14:27
一杯清酒邀明月
阅读(2857)
推荐(0) 编辑
Qt 解锁QtPropertyBrowser控件
摘要:简介 用过Qt Creator的都会发现,Qt的ui designer有个很好看的属性设置控件: 直到有一天,我用everything搜了一下QtPropertyBrowser,发现: 原来Qt安装时都自带了这个模块,只是不告诉大家而已(记得安装时勾选安装源码) 解锁QtPropertyBrowse
阅读全文
posted @
2020-11-09 12:05
一杯清酒邀明月
阅读(517)
推荐(1) 编辑
VTK 对 camera 的操作方法如下
摘要:对 camera 的操作方法如下: 1 vtkCamera *aCamera = vtkCamera::New(); 2 aCamera->SetViewUp (0, 0, -1);//设视角位置 3 aCamera->SetPosition (0, 1, 0);//设观察对象位 4 aCamera
阅读全文
posted @
2020-11-09 09:25
一杯清酒邀明月
阅读(4708)
推荐(0) 编辑
Qt QChart 自定义qChartView(重写鼠标事件)完美实现缩放与平移(新增android下手势缩放实现)
摘要:功能 实现QtCharts曲线图移动和缩放: 按住鼠标左键拖动曲线可移动曲线; 滚动鼠标滚轮实现图形X轴方向的缩放; 按住Ctrl,滚动鼠标滚轮实现图形Y轴方向的缩放; 按鼠标右键恢复图形初始状态; 缩放过程以鼠标当前位置为缩放中心; 鼠标移动过程中会在左上角显示当前坐标。 实现 继承QChartV
阅读全文
posted @
2020-11-06 14:35
一杯清酒邀明月
阅读(7442)
推荐(1) 编辑
Qt 解决:QWidget: Must construct a QApplication before a QWidget
摘要:在完成一个绘图程序后,以为大功告成了,换成release版后准备完工了,天真的我还是抵不过Qt的套路。。。 没错,很显然换成release版后,编译通过,运行报错。。。 从来没碰到过这种错误,debug运行一直好好的,后来在网上查了很多资料,说是release和debug动态库调用混乱, 我就抑郁了
阅读全文
posted @
2020-11-05 10:15
一杯清酒邀明月
阅读(1223)
推荐(0) 编辑
VTK 警告 QVTKWidget was deprecated for VTK 8.1 and will be removed in a future version.
摘要:您应该改用 QVTKOpenGLWidget。 如果绝对需要,可以通过设置cmake变量来禁用弃用警告: VTK_LEGACY_SILENT:ON
阅读全文
posted @
2020-11-05 09:20
一杯清酒邀明月
阅读(1781)
推荐(0) 编辑
VTK8.0需要添加的初始化代码
摘要:#include "vtkAutoInit.h" VTK_MODULE_INIT(vtkRenderingOpenGL2); // VTK was built with vtkRenderingOpenGL2 VTK_MODULE_INIT(vtkInteractionStyle); 不添加初始化代
阅读全文
posted @
2020-11-05 09:19
一杯清酒邀明月
阅读(353)
推荐(0) 编辑
Qt 实现单个EXE文件(绿色运行版) Enigma Virtual Box
摘要:有时候发布用Qt写的软件是件令人烦恼的事情,明明发布的只是一个简单功能的小软件,非得再附上一堆超大的动态链接库,实在让人觉得汗颜 。 在可执行文件单文件化方面,有多种方法。常用的是编译并使用静态 Qt 库、使用 exe 打包工具等。exe 打包工具有很多,本文介绍使用 Enigma Virtual
阅读全文
posted @
2020-11-04 15:55
一杯清酒邀明月
阅读(4078)
推荐(0) 编辑
Qt 设置应用程序图标和发布程序
摘要:1、设置应用程序图标 简单三步走,搞定 ①创建一个图标格式的文件,可以网上在线将普通的图形格式转成.ico 格式的图标文件 http://www.faviconico.org/ 这个网站可以在线转换png、jpg、gif文件为ico格式,亲测很好用 ②将转换好的图标文件myico.ico放到源码目录
阅读全文
posted @
2020-11-04 15:54
一杯清酒邀明月
阅读(862)
推荐(0) 编辑
Qt 用代码实现菜单栏(MenuBar)和工具栏(ToolBar)
摘要:新建Qt项目,选择Qt Widgets Application,填入项目名称“ImageView”,点击完成。 在Qt Designer里会生成如图所示的几个文件: 此时我们右键删除imageviewer.ui这个文件,因为我们本次是用纯代码的方式生成界面,所以不需要这个ui文件了。 关键代码主要在
阅读全文
posted @
2020-11-04 15:12
一杯清酒邀明月
阅读(3808)
推荐(0) 编辑
VTK 相机类vtkCamera原理及用法
摘要:vtk是著名的开源三维渲染库,在三维渲染过程中的一个非常重要的内容就是相机即vtkCamera类的设置。在VTK中,相机的实质是一个观测点。VTK的官方Doc对vtkCamera写的十分简略,暗坑很多。在学习和使用vtkCamera的过程中,我走了很多弯路。在我的应用中,我希望能够根据现实中相机的T
阅读全文
posted @
2020-11-04 13:30
一杯清酒邀明月
阅读(4194)
推荐(1) 编辑
VTK 初识vtkRenderer
摘要:vtkRenderer vtk的基类,也就是所有类基本继承于vtkObjectBase,Renderer也是一样,看下图,其实看源码挺好的,可以学习学习别人的思想,借鉴下充实自己。 vtkRenderer个人理解就是个窗口渲染器,也是vtk的核心,没了这玩意儿你没法去操作你的vtkActor,你的v
阅读全文
posted @
2020-11-04 13:25
一杯清酒邀明月
阅读(1733)
推荐(0) 编辑
VTK 图像处理_显示(vtkImageViewer2 & vtkImageActor)
摘要:1.vtkImageViewer2用于图像显示实例分析 在VTK早期版本中,提供了vtkImageViewer类来显示图像。随着版本的发展,目前vtkImageViewer2代替了vtkImageViewer进行图像显示。vtkImageViewer2中封装了VTK图像显示的管线,包括vtkActo
阅读全文
posted @
2020-11-04 13:23
一杯清酒邀明月
阅读(2620)
推荐(0) 编辑
VTK vtkSmartPointer 智能指针详解
摘要:智能指针则用来解决这个问题。使用智能指针,用户不必考虑何时进行内存释放,而是由智能指针进行控制。 智能指针 VTK中的智能指针类为vtkSmartPointer,是一个模板类,继承自vtkSmartPointerSmart类。vtkSmartPointer类中定义一个vtkObjectBase类型的
阅读全文
posted @
2020-11-04 13:20
一杯清酒邀明月
阅读(3380)
推荐(1) 编辑
Qt CheckBox选中与未选中的使用
摘要:1、首先拖动一个checkBox按钮放在界面上,然后就是需要,选择转到槽中的槽函数,如下,选择这个 2、代码部分: 1 void MainWindow::on_checkBox_stateChanged(int arg1) 2 { 3 //第一种 4 if(arg1 == 2) 5 { 6 qDeb
阅读全文
posted @
2020-11-04 13:17
一杯清酒邀明月
阅读(6319)
推荐(1) 编辑
Qt Excel表格宽高的设置
摘要:Qt对Excel表格的操作: 在Excel中,行高所使用单位为磅,而列宽使用单位为1/10英寸。 【注:1cm=28.6磅,1英寸=25.4cm】 因此需要进行转换,行列不一样的。 转换如下:行高: 1毫米=2.7682个单位 ,1个单位=0.3612毫米。列宽: 1毫米=0.4374个单位 ,1个
阅读全文
posted @
2020-11-04 13:16
一杯清酒邀明月
阅读(1294)
推荐(0) 编辑
VTK三维重建 使用VTK读取DICOM,并动态输出
摘要:[效果显示] 将脚部骨骼扫描的CT照片进行的连续读取, 运行结果存为了两个动态gif, 不知道能不能正常显示 [主程序实现] 1 int main(int argc, char* argv[]) 2 { 3 // Verify input arguments 4 if ( argc != 2 ) 5
阅读全文
posted @
2020-11-03 15:37
一杯清酒邀明月
阅读(1896)
推荐(0) 编辑
VC++ VTK 读取序列CT图片三维重建
摘要:1 #include "vtkRenderer.h" 2 #include "vtkRenderWindow.h" 3 #include "vtkRenderWindowInteractor.h" 4 #include "vtkDICOMImageReader.h" 5 #include "vtkP
阅读全文
posted @
2020-11-03 15:36
一杯清酒邀明月
阅读(860)
推荐(0) 编辑
VTK 读取序列图像
摘要:VTKstd在VTK7版本中不再使用,用std替代 VTK7中需添加命名空间 using namespace std; std::string fileStr(fileName); 1 #include "vtkAutoInit.h" 2 VTK_MODULE_INIT(vtkRenderingOp
阅读全文
posted @
2020-11-03 14:56
一杯清酒邀明月
阅读(529)
推荐(0) 编辑
Qt QWidget提升QVTKWidget
摘要:三步走:这样这个Widget就是QVTKWidget了
阅读全文
posted @
2020-11-03 11:40
一杯清酒邀明月
阅读(2320)
推荐(0) 编辑
ITK 介绍
摘要:ITK( Insight Segmentation and Registration Toolkit)是美国国家卫生院下属的国立医学图书馆开发的一款医学图像处理软件包,是一个开源的、跨平台的影像分析扩展软件工具。 简介 ITK的开发过程中采用了先进的多模态数据分割配准算法,用于处理图像配准和分割的问
阅读全文
posted @
2020-11-03 10:42
一杯清酒邀明月
阅读(976)
推荐(0) 编辑
Qt QMainWindow中利用多个QDockWidget构成标签页tab || tabifyDockWidget
摘要:功能描述: 在QMainWindow下,使用多个QDockWidget构成可切换,可拖动,可关闭的标签页;标签页的切换由相关联的QAction触发。 实现效果: 代码如下: 1 QDockWidget *sr=new QDockWidget(tr("Sr"),this); //设置为可拖动且可关闭
阅读全文
posted @
2020-11-02 13:34
一杯清酒邀明月
阅读(1808)
推荐(0) 编辑
Qt QDockWidget属性 setFeatures、setAllowedAreas
摘要:QDockWidget类继承与QWidget类,用于停靠窗口的管理。在主窗口中,先设置中心控件,然后实例化QDockWidget对象,通过setFeatures( )设置停靠窗口的窗体特性,通setAllowedAreas( )设置窗体可停靠的区域。具体如下: void setFeatures(Do
阅读全文
posted @
2020-11-02 13:27
一杯清酒邀明月
阅读(2125)
推荐(0) 编辑
Qt Designer中toolBar的allowedAreas属性
摘要:1、概述 allowedAreas属性指定工具栏允许移动的范围,其类型为枚举类Qt.ToolBarAreas,有如下取值:以上取值可以同or操作组合使用。 2、访问方法 缺省值为Qt.AllToolBarAreas,可以通过allowedAreas()、setAllowedAreas(Qt.Tool
阅读全文
posted @
2020-11-02 13:24
一杯清酒邀明月
阅读(373)
推荐(0) 编辑
Qt QSizePolicy
摘要:简述 QSizePolicy类是一个描述布局水平和垂直方向调整策略的属性。 大小策略会影响布局引擎处理部件的方式,部件加入布局以后,会返回一个QSizePolicy,描述了其水平和垂直方向的大小策略。可以通过QWidget::sizePolicy属性为特定部件设置大小策略。 详细描述 QSizePo
阅读全文
posted @
2020-11-02 13:21
一杯清酒邀明月
阅读(389)
推荐(0) 编辑
Qt(Python+Qt)QMainWindow的splitDockWidget方法将QDockWidget停靠窗分割排列
摘要:主窗口的splitDockWidget方法用于将一个停靠窗占据的空间分割成两部分,原有停靠窗放置在第一部分的区域,另一个停靠窗放置在第二部分的区域。调用语法: splitDockWidget( QDockWidget first, QDockWidget second, Qt.Orientation
阅读全文
posted @
2020-11-02 13:18
一杯清酒邀明月
阅读(873)
推荐(0) 编辑