暂时未有相关云产品技术能力~
暂无个人介绍
Internet协议
计算机网络-局域网
网络体系结构
MPI并行计算的基本介绍和使用
QT图形视图框架绘制曲线图和Smith图
接上一篇,我们需要继续完成以下的效果; 先上个效果图:
详细的介绍可以看QT的官方助手,那里面介绍的详细且明白,需要一定的英语基础,我这里直接使用一个开源项目来介绍QGraphicsView、QGraphicsScene的使用。
环境搭建 • 准备一台linux设备和一台windows设备虚拟机也是可以的; • 安装mosquitto ; • 准备QMQTT环境 - windows下;
QMainWindow是一个为用户提供主窗口程序 的类,包含一个菜单栏(menu bar)、多个工具栏 (tool bars)、多个锚接部件(dock widgets)、―个 状态栏(status bar )及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器、 图片编辑器等。
vi的使用 • 一般指令模式 : 以vi打开一个文件就是vi一般指令模式 • 编辑模式 : 在一般指令模式下按【i o a r】等按钮会进入编辑模式,按Esc退出编辑模式 • 命令模式:在一般指令模式中输入【: / ?】按钮有可以进入命令模式,进行保存查找等操作。
之前我们在的两个插件Core和About,在Core和About中加入了界面,并且Core中插入了一个菜单,点击之后弹出About界面。 我们现在来用之前的知识把菜单改成注册的,并且点击之后弹出About界面。 我这里的思路是使用事件或者是在Core中加注册的服务来注册菜单。之后点击菜单的时候发送事件。
CTK一共有三种事件可以监听:框架事件、插件事件、服务事件。但是这些事件只有再变化时才能监听到,如果已经变化过后,进入一个稳定的状态,这时才去监听,那么是无法监听到的。
在第一篇文章中吗,我们提到了MANIFEST.MF中有个字段是依赖关系,这次我们来测试一下这个依赖关系:
CTK框架中的事件监听,即观察者模式流程上是这样:接收者注册监听事件->发送者发送事件->接收者接收到事件并响应;相比调用插件接口,监听事件插件间依赖关系更弱,不用指定事件的接收方和发送方是谁。比如我们需要弹出一个界面,可以使用事件来弹出。
接口就是虚函数(也可以是纯虚函数),也就是最终的服务的前身。 接口对外暴露功能,比如我们给之前写的mainwindow 加一个界面类,并且对外暴露一个popWindow()的接口
前面我们已经介绍了CTK框架的基本信息,接下来我们来一步一步搭建CTK的第一个插件。
CTK 为支持生物医学图像计算的公共开发包,其全称为 Common Toolkit。CTK插件框架的设计有很大的灵感来自OSGi并且使得应用程序由许多不同的组件组合成一个可扩展模型。这个模型允许通过那些组件间共享对象的服务通信。
冯氏光照:视线与反射方向之间的夹角不小于90度,镜面光分量会变成0.0(不是很合理,会有清晰的分界线) Blinn-Phone模型采用了半程向量,即光线与视线夹角一般方向上的一个单位向量。当半程向量与法线向量越接近,镜面光分量就越大。
最新版本的不用下载CTKData 相关的下载会在编译的时候去下载,所以编译的时候要保证自己的网络是能够从github中下载东西的。当然你也可以拷贝
如果将数据一次性发送给GPU,然后使用一个绘制函数让OpenGL利用这些数据绘制多个物体,就会方便了。这就是实例化(Instancing)。
输入布局限定符可以从顶点着色器接收下列任何一个图元值: ● points:绘制GL_POINTS图元时 ● lines:绘制GL_LINES或GL_LINE_STRIP时 ● lines_adjacency:GL_ADJACENCY或GL_LINESTRIP_ADJACENCY ● triangles:GL_TRIANGLES、GL_TRIANGLE_STRIP或GL_TRIANGLE_FAN ● triangles_adjacency:GL_TRIANGLES_ADJACENCY或GL_TRIANGLE_STRIP_ADJACENCY
这样设计的好处: 1.取值范围:下界到上界 2.如果这个取值范围为空,上界值==下界值 3.即使取值范围为空,上界值永远不可能小于下界值
● OpenGL中的缓冲区 对象管理特定的GPU内存 ● 在将缓冲区绑定到特定的缓冲区目标时候赋予它意义 ● OpenGL在内部会保存每个目标(缓冲区)的引用,并且根据目标以不同的方式处理缓冲区。
1.opencascade源码 我下载的时候最新版本是7.7.0
数据库事务是作为单个逻辑工作单元执行的一系列操作: ● 如果在执行事务期间未发生错误,则系统将提交事务。 ● 如果在事务期间发生错误,或者用户指定了回滚操作,则事务中的数据操作不会保留到数据库中。
如果你曾经查看过Qt的源代码文件,例如这个Q_D和Q_Q宏定义。 文就来揭开这些宏使用的目的。 Q_D 和Q_Q宏定义是d-pointer, 它可以把一个类库的实施细节对使用的用户隐藏, 而且对实施的更改不会打破二进制兼容。
Bito 的 AI 帮助开发人员显著加快其影响力。这是一把瑞士军刀的功能,使用与 ChatGPT 相同的模型,可以提高您的开发人员生产力并每天为您节省一个小时!
上一篇博文中提到了mysql的使用,但是很多人在使用新版Qt连接mysql的时候出现连接不上或者是没有mysql驱动的问题,网上有很多博文写了这个问题。但是对于最新版的mysql,使用网上的那些编译办法无法完全解决driver not loaded的问题,接下来我将写一篇文章详细的说一下如何解决该 问题,并且介绍一下除了使用驱动连接mysql,还可以使用odbc连接mysql。
之前介绍了纯使用QxOrm的增删改查,接下来介绍使用QxOrm来执行sql语句。这部分也是有必要的。 QxOrm一共提供了1个类2个方法来执行sql语句
小伙伴们大家好,之前我上传了一个资源(骗积分用的),但是没有效果图和博文与之对应,所以大家应该是都不敢下载的吧, 先上资源链接 : 一个雷达图和一个摇杆图(方向可以根据你自己的需要增加)资源 再上效果图。
上次说了QxOrm的数据库连接、映射和基础的增删改查,但是我们在使用数据库的时候并不希望别人看到我们数据库的内容,我们希望我们的数据库是能被加密的,只有我们用正确的密码才能连接上我们的数据库。加密之后就可以对数据安全作出一定的保障。
上一篇我们讲了QxOrm的基本的数据映射操作,这里面再补充一点东西
现在在网上看到的QxOrm教程,都是最基础的,只是使用该库的基本创建函数,并没有深入的介绍其强大的功能。所以我想写一个专栏,详细介绍QxOrm的使用,我会在介绍模块的时候提供对应的例子给大家参考,该篇文章与官方教程相对应,如果您对我写的有不理解的地方,请看官方文档,我这里也不是所有功能都介绍,仅介绍关系型数据库的连接部分,非关系型的请到官网查看。
最近在重新整理自己电脑的环境,所以需要重新安装一下QT,看自己没有发过相关的文章,又觉得这个可以水一篇文章,所以决定写一篇简单的安装教程
接下来可以开始配置clion的远程开发环境 1.配置Clion工具链
1.在Ubuntu 中配置ssh远程登录 Ubuntu 配置远程登录 2.VsCode 安装 Remote-ssh 插件
先说问题,今天在配置Ubuntu按照网上找的换源办法换源之后安装gcc之后无法安装G++。
打开cmd 输入wsl,提示我们系统不支持wsl。
1.下载minggw 包 在MinGW网址中下载下面框选的2个中的一个,我下载的是下面的那个
天天看QT的信号槽,突然发现boost中也有信号槽,所以想试试boost的信号槽,尝试一下。需要先对boost进行编译,之后我会使用信号槽作为演示代码。
我是在虚拟机中配置的,如果你的嵌入式设备足够完成自己的编译,可以不考虑虚拟机的。
接着等待安装完成。 再次输入ifconfig,可以看到我们的ip是192.168.197.139。
官网说在5.99和最终的6.0版本已经切换到msvc了,虽然还支持msys2但是可能支持不好。我再使用msys2编译最新的7.0的时候编译会报一个boost错误,我猜测应该是msys2下载的boost版本太低,而最新版本使用的一些函数已经找不到实现了,所以我下载了一个6.0版本的KiCad来使用msys2编译
OpenGL能够检查所有面向(Front Facing)观察者的面,并且渲染他们,而丢弃那些背向的面,节省我们很多的片段着色器的调用。 我们需要告诉OpenGL哪些是正面,哪些是背面。逆时针是正面,顺时针是反面。
光线追踪法 从鼠标投射 3D 射线, 通过摄像机,进入场景,然后检查该光线是否与某个对象相交。
HarfBuzz 整形 API 的核心是函数。此函数采用一种字体,即 包含一串 Unicode 代码点的缓冲区和 (可选)字体功能列表作为其输入。它取代了 缓冲区中的代码点,其中包含来自 字体,正确排序和定位,以及任何 应用的可选字体功能。hb_shape()
如您所见,该函数返回一个错误代码,例如 FreeType API 的大多数其他函数。错误代码 的 0表示 操作成功;否则,该值描述 错误,并设置library为 NULL。
在前面的文章中,我们渲染了一个3D箱子,并且运用了深度缓冲来防止阻挡的面渲染到其他面的前面。 现在大部分的GPU都提供一个叫做提前深度测试(Early Depth Testing)的硬件特性。提前深度测试允许深度测试在片段着色器之前运行。只要我们清楚一个片段永远不会是可见的(它在其他物体之后),我们就能提前丢弃这个片段。
我们不大可能手工定义房子、汽车或者人形角色这种复杂形状所有的顶点、法线和纹理坐标。我们想要的是将这些模型导入到程序当中。
OpenGL本身没有摄像机的定义,但是我们可以通过把场景中的所有物体往相反方向移动的方式来模拟出摄像机,产生一种我们在移动的感觉。