自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(153)
  • 资源 (4)
  • 收藏
  • 关注

原创 QGraphicsView缩放时,场景中图元线宽始终为1个像素

通过将图元的QPen 的setwidth(0) , 这样view在缩放的时候,图元的线宽始终是1个像素宽度,如果设置为setwidth(1) ,则只在初始场景下的线宽为1个像素,当缩放时,会更加场景的的缩放倍率来调整对应线宽。

2024-05-22 13:23:33 74

原创 QGraphicsView中鼠标位置图像缩放时不变

这意味着,如果用户正将鼠标指针悬停在视图的某个点上并进行缩放操作,那么这个点将保持在鼠标指针下方,视图其他部分将围绕这个点进行缩放。这样,用户调整视图窗口大小时,可以更方便地继续之前的查看或编辑操作,而不需要重新定位到特定的区域。,那么缩放时你可能会发现视图偏离了你希望仔细查看的区域。同样,在调整窗口大小时,如果视图内容相对于窗口的位置发生了改变,这可能会中断你的工作流,因为你需要重新找到那个特定的区域。的变换锚和调整尺寸锚到鼠标下面的操作,是一个很常见的模式,尤其在实现图形视图的缩放和滚动功能时。

2024-05-22 09:09:50 248

转载 结构体指针

这个操作符对于指针有两个不同的意义,当在申明的时候是申明一个指针,而当在使用p指针时是解引操作,解引操作右边是一个地址,这样解引操作的意思就是该地址内存中的数据。变量类型的出现是内存管理的必然结果,相信读者知道,所有的变量都是保存在计算机的内存中,既然是放到计算机的内存中,那必然会占用一定的空间。这里简单说了类型主要是为后面引出指针这个特殊性,在计算机中,将要运行的程序都保存在内存中,所有的程序中的变量其实就是对内存的操作。计算机的内存结构较为简单,这里不详细谈论内存的物理结构,只谈论内存模型。

2024-05-15 08:40:32 7

原创 如何将Git仓库中的文件打包成zip文件?

文件中被忽略的文件。如果您需要包含这些文件,您可能需要先将它们添加到仓库中,或者在创建zip文件后手动添加它们。这个命令允许您将任何git可访问的树或提交导出成一个归档文件。如果您想要打包特定的分支或标签,可以将。要将Git仓库中的文件打包成zip文件,您可以使用。如果您想要打包当前分支的最新版本,使用。可以采用powershell窗口。替换为分支名或标签名。

2024-05-12 13:57:33 201

原创 QListView 事件过滤器中没有鼠标事件

如果您在尝试为QListView添加事件过滤器来捕获鼠标事件时遇到问题,这可能是因为QListView(或者更准确地说,它的视图部件)自身正在处理这些鼠标事件,从而阻止了事件传递到事件过滤器。在Qt的模型/视图架构中,视图通常会处理鼠标事件来实现项的选择、编辑等功能。

2024-05-11 14:48:10 177

原创 Qt自动形成父子关系的函数

在Qt中,父子关系对于对象的内存管理至关重要。当一个QObject派生的对象拥有一个父对象时,它会在父对象被销毁时自动被销毁。这种机制简化了内存管理,并防止了内存泄漏。

2024-05-09 15:02:06 458

原创 16进制字符串转32bit整形,浮点数,16bit整形

【代码】16进制字符串转32bit整形,浮点数,16bit整形。

2024-04-30 10:34:08 127

原创 Qt样式表

Qt样式表。

2024-04-28 11:19:16 214

原创 qt实现视频采集及显示相关思考

帧率太高后,就会出现在主界面线程中需要大量的时间来处理图片采集信号,很容易造成界面卡顿现象。为了解决上述问题,在保证采集帧率同时,也尽可能保证显示帧率,可在发送信号前面,增加一个全局变量来判断对应槽函数是否执行完成,只有在对应槽函数执行完成后,才能再次发送图片采集完成信号,通过该变量来控制发送信号的频率,这样既能保证采集帧率,也能保证显示帧率,同时还能保证界面流畅,因为在主界面事件循环中,图片采集完成的信号跟其他的界面信号比例差不多。执行起来基本就不会有卡顿现象了!

2024-04-26 22:31:01 476

原创 C++解方程组的库

请注意,Eigen的非线性优化模块并不包含真正的BFGS实现,而是提供了Levenberg-Marquardt算法,它更适合于非线性最小二乘问题。它支持多种类型的矩阵运算,包括求解线性方程组。对于更复杂的问题,你可能需要更高级的数值优化库,如Ceres Solver或NLopt,它们提供了更多的优化算法和更好的稳定性。这个示例中,我们定义了一个非线性方程组和它的雅可比矩阵,然后使用牛顿法进行迭代求解。请注意,这个模块是Eigen的一部分,但并不属于其稳定的官方API,因此在未来的版本中可能会有所变化。

2024-04-26 13:32:03 944 3

原创 在VS中调试qt时,使用 QSqlDatabase出现Driver not loaded 的情况

问题解决:之前通过windeployqt将qt的环境已经加载到了debug里面了,但是sql模块是后面加上上去的,这时候qt加载dll的时候,默认只会从debug下搜寻dll,但是sql对应的dll却没有,这个时候就会报Driver not loaded错误,这时候可以将debug下所有文件删除,重新生成debug文件,这时候默认就会从qt安装路径搜寻dll文件,就不会报错了。现象:添加了sql模块,还是出现Driver not loaded错误。

2024-04-16 13:28:52 107

原创 Qt标准对话框中文qm文件加载

当使用qt标准对话框时,如QMessageBox,QFileDialog等时,默认都是英文。这时可以从qt安装路径下到一个translations的文件夹,里面就是qt所有的翻译文件qm文件。标准对话框主要使用qt_zh_CN.qm , 但是通过查看qt_zh_CN.ts文件里面只是4个文件,所以还得把这四个qm文件同时拷贝出来才能正常使用。从translations文件中找到这5个文件,拷贝到自己的应用程序下面即可。

2024-04-15 16:19:24 277

原创 QMessageBox自定义按钮与QFileDialog自定义

当在采用QMessageBox进行信息提示时,如果采用静态方式显示窗口,为保证窗口风格与父窗口相同时,可以把将父对象设置为当前窗口类对象时,里面的按钮大小也会跟随变化。这时候可能就出现yes,no按钮太小的情况。可通过自定义按钮的方式解决。

2024-04-15 10:50:38 314

原创 Qt中通过函数名(call-by-name)来调用COM的方式

工具获取任何 COM 对象及其子对象的 Qt API 文档;请注意,并非所有 COM 对象的 API 都可用。有时候通过dumpdoc工具不能获取到,则可以通过dumpcpp的方式获取。在qt中调用COM的方式,其中采用函数名的方式算是比较简单的,但是有时候如果没有提供qt版本的函数说明,却是很难调用。笔者的建议是通过dumpcpp的方式先将COM生成h及cpp来查询。通过h文件中函数名,就是call-by-name中的函数名。() API 通过名称调用 COM 对象的方法和属性。

2024-03-19 15:15:26 508

原创 QT中dumpcpp以及dumpdoc使用

在安装好了的qt电脑上,通过powershell窗口来实现,powershell比cmd要方便很多,可以复制粘贴,也可以直接将文件拉取过去。dumpcpp -o 生成的头文件及cpp文件的名称 -n 命名空间的名称 dll或者tlb文件路径也可以是clsid不过要加双引号。只能用clsid来生成,用dll和tlb都只有一点数据在里面。可以通过 dumpcpp -h 查看详细使用说明。qt中调用COM的方式方法有四种,参考解释。介绍dumpcpp的使用方法。dumpdoc的使用方法。

2024-03-15 09:48:01 583

原创 QT使用dumpcpp为COM生成h及cpp的方式,COM是C#的dll注册的

然后输入 dumpcpp tlb文件路径 ,回车即可 tlb路径直接将tlb文件拉进窗口即可自动生成。之后在dumpcpp.exe文件所在路径下将自动生成h及cpp文件。该文件即可以把COM组件,像普通的类进行调用。上述1,2两步不分先后,但是在编程之前,得把dll注册到系统中。在qt的安装目录下找到dumpcpp.exe文件,然后安装shift调用powershell窗口。当把这两个文件加载到C++项目中后,有可能会出现一些错误。在项目中需要添加COM容器模块QAxContainer。

2024-03-14 14:39:23 521

原创 win10系统在低分辨率显示器显示模糊时

win10系统在低分辨率显示器显示模糊时,通过网上搜的大量调整方式都不行时,笔者之前的电脑时win7系统,最佳分辨率为1024*768时,很清楚,但是在安装win10后出现模糊,通过显示设置设置为125%(推荐)。网上能找到的方式都试了一遍,都没有效果。通过更换不同的版本的win10,最后发现,原来是显卡驱动的问题。之前安装的win10显卡驱动都不对,网上下载的ghost文件,后来同一的ghost文件重新装了一遍之后,显卡驱动的型号自己变了,装完之后显示设置里面默认为100%(推荐)。

2024-03-12 16:59:42 387

原创 VS2019卸载VA插件之后,出现闪退时

进入VS界面后,再关掉,重新按正常方式打开VS界面即可。采用安全模式进入VS。

2024-01-30 20:16:25 451

转载 解决Visual Studio的启动错误“未能正确加载某某包”

说明一下,这里面的%localappdata%文件夹就是你的Windows系统的用户数据所在的文件夹下的本地应用数据文件夹,像我的是在C:\Users\MyUserName\AppData\Local。我的错误是"The 'ProviderPackage' package did not load correctly.",明明它说关掉VS下次启动这个错误会消失,可是重启并没什么球用。关掉Visual Studio,删除对应版本对应的文件夹即可(删除前最好先备份)

2024-01-30 19:08:30 280

原创 Qt5+VS2013兼容XP方法

用Qt5+VS2013编译程序默认配置会在XP运行时报"不是有效的Win32程序"--->请手工修改这一行。工作需要必须要XP运行。

2024-01-05 13:45:45 650

原创 VMwareWorkstation进入U盘的PE系统方法

8、切换到Boot界面,展开HardDrive,使用”Shift和+”将HardDrive(0:1)或IDEHard(PS)(一般为最后一项)移动到第一位,再将HardDrive移动到首位;5、点击“设备”下拉框,选择最后一个,一般是PhysicalDrive1,点击“使用整个磁盘”,0为虚拟机硬盘,1为U盘启动盘;1、插入U盘启动盘,打开VMware,选中要设置的虚拟机,点击“编辑虚拟机设置”;1、正确顺序是先插入U盘启动盘,再打开虚拟机,否则虚拟机无法检测到U盘;3、磁盘类型保持默认选项,下一步;

2023-12-20 11:15:44 2327 1

原创 char[]数组转string注意事项

这种情况下可以对char strProcPath[128]{'\0'};初始化时进行\0字符赋值。当在这种情况直接进行赋值,有可能会报C6054缺少'\0'结束符。

2023-12-13 14:16:43 95

原创 通过网线连接的局域网电脑怎么实现上网功能

在机床里面的工控机有时候需要进行联网操作,但是又没有无线网或者外网网线,这时候可以通过笔记本的无线wifi功能实现上网功能.通过网络适配器-找到wifi对应适配器-共享-1 打勾-2选中与工控机连接的网口-既可.工控机端,将网口设置为自动获取IP。

2023-12-04 12:03:56 382

原创 QLineEdit响应editingFinished实现只响应一次

QLineEdit中editingFinished槽函数会在按下enter时响应两次,分别是按下enter和失去焦点的时候,为了能让 QLineEdit只响应其中一次,需定义一个全局变量m_bFlagEnter保存是否enter是否按下,按下后,则在失去焦点的时候做对应判断,为ture则将m_bFlagEnter复位。为false则说明当前编辑框只是失去了焦点,执行需要做的动作即可。只有数据变化了,当失去焦点的时候才能响应editingFinished槽函数。

2023-11-23 09:36:07 360

原创 固高GTS800控制卡开发数控系统宏程序心得

4.在执行延时插补指令时,需要在延时指令前后增加一个自定义行号的指令,保证插补缓存区状态判断的准确性,因为当延时指令为最后一行时,一旦执行到该行,插补缓存区状态的判断就会认为当前插补缓存区为空,且静止,造成对插补缓存区的误判。所以最好的方式是在延时指令的前后插入一个自定义行号的指令。5.当通过线程2中宏程序数据结构的优化,这里取消了对插补缓存区中,输出指令通过buff中的指令实现,而采用通过线程配合上位机的普通输出口实现,因为插补缓存区的输出指令对于在扩展模块上的输出口没用。配合宏程序的编译执行。

2023-11-12 09:14:46 274

转载 OpenCasCade官方开发文档翻译(9)–IGES 转换器

介绍IGES 接口读取 IGES 文件并将其转换为 Open CASCADE Technology 模型。该接口能够翻译一个实体、一组实体或整个文件。在开始翻译之前,您可以设置一系列参数来管理翻译过程。如果您愿意,您还可以在翻译前检查文件的一致性。IGES 接口还将 OCCT 模型转换为 IGES 文件。和可以读取或写入其他类型的数据,例如颜色和名称。注意IGES 模型是已加载到内存中的 IGES 文件。IGES 实体是 IGES 正常意义上的实体。

2023-11-01 09:17:47 295

转载 OpenCasCade官方开发文档翻译(8)–VTK 集成服务 (VIS)

这种特性使 VIS 可以利用标准的 OCCT 选择机制,但对相应的可视化管道施加了严格的限制。它考虑了与 VIS 组件一起提供的工具的使用,例如特定的 VTK 数据源、选择器类和特定的 VTK 过滤器。基本上,在这种情况下,您可以使用来自 VIS 的扩展来丰富您的自定义 VTK 管道。所提到的包组织背后的想法是通过它们对特定库(OCCT,VTK)的依赖关系,将接口与其实际实现分离。– 表示任意性质的 3D 形状。包为您提供了一个现成的算法工具箱,有助于将 OCCT 形状集成到 VTK 的可视化管道中。

2023-11-01 09:16:04 378 2

转载 OpenCasCade官方开发文档翻译(7)–occt可视化

介绍Open CASCADE 技术中的可视化基于以下方面的分离:一方面 – 存储您要显示和选择的实体的几何形状和拓扑结构的数据,以及另一方面 – 它的呈现(当对象显示在场景中时您看到的内容)和选择(交互选择整个对象或其子部分以将应用程序定义的操作应用于选定实体的可能性)。演示通过演示组件进行管理,并通过选择组件进行选择。应用程序交互服务AIS) 提供了在应用程序 GUI 查看器和用于管理选择和演示的包之间创建链接的方法,这使得 3D 中这些功能的管理更加直观,因此更加透明。

2023-11-01 09:14:57 1319

转载 OpenCasCade官方开发文档翻译(6)–occt形状修复

概述介绍本手册解释了如何使用形状修复。它提供了有关其操作的基本文档。有关形状修复及其应用的高级信息,请参阅我们的电子学习和培训产品。形状修复工具包提供了一组工具来处理开放级联技术 ( OCCT ) 形状的几何形状和拓扑结构。形状修复调整形状,以使它们尽可能适合 Open CASCADE 技术使用。使用示例以下是一些典型问题的示例,并说明了 Shape Healing 如何处理这些问题:缺少接缝边缘的

2023-11-01 09:12:46 1102

转载 OpenCasCade官方开发文档翻译(5)–occt网格

网格演示除了支持 3D 对象的精确几何表示之外,Open CASCADE 技术还提供了以网格形式处理对象的镶嵌表示的功能。开放式 CASCADE 技术网格功能提供:存储与形状相关的表面网格数据的数据结构,以及处理这些数据的一些基本算法从BRep对象(形状)构建表面三角形网格的数据结构和算法。用于扩展 Open CASCADE 技术的 3D 可视化功能的工具,显示网格以及相关的预处理器和后处理器数据。Open CASC

2023-11-01 09:11:06 712

转载 OpenCasCade官方开发文档翻译(1)–occt整体介绍

Open CASCADE Technology (OCCT) 是一个面向对象的 C++ 类库,旨在快速生成复杂的特定领域 CAD/CAM/CAE 应用程序。使用 OCCT 开发的典型应用程序处理通用或专用计算机辅助设计 (CAD) 系统、制造或分析应用程序、模拟应用程序甚至插图工具中的二维或三维(2D 或 3D)几何建模。基本数据结构(几何建模、可视化、交互式选择和特定应用服务);建模算法;使用网格(多面)数据;与中性格式(IGES、STEP)的数据互操作性;

2023-11-01 09:09:17 972

转载 OpenCasCade官方开发文档翻译(2)–occt基础类

句柄是智能指针的 OCCT 实现。多个句柄可以引用同一个对象。此外,一个句柄可以引用多个对象,但一次只能引用一个。要访问它所引用的对象,必须像使用 C++ 指针一样取消引用句柄。任何对象的行为都由其类声明中定义的方法实现。这些方法的定义不仅包括它们的签名(它们的编程接口),还包括它们的有效性域。此域由异常表示。在各种错误条件下引发异常以保护软件质量。异常处理提供了一种将控制从正在执行的程序中的给定点转移到与先前执行的另一个点相关联的异常处理程序的方法。

2023-11-01 09:07:40 317

转载 OpenCasCade官方开发文档翻译(3)–occt建模数据

介绍建模数据提供数据结构来表示 2D 和 3D 几何模型。本手册解释了如何使用建模数据。

2023-11-01 09:06:12 597

转载 OpenCasCade官方开发文档翻译(4)–occt建模算法

类允许创建一个框架来根据曲线和点约束以及公差设置来构建曲面。结果与函数Surface一起返回。请注意,您不必在构造时指定初始曲面。它可以稍后添加,或者,如果没有加载,将自动计算表面。类允许将曲线定义为对要构建的曲面的约束。类允许将点定义为要构建的曲面的约束。重新定义了一些运算符以找到最接近的解决方案。返回从点到曲线的最小距离。D =(P,C);返回解决方案的数量。N =(P,C);gp_Pnt2d()返回最近的解点。

2023-11-01 09:02:00 1333

原创 Geom2dAPI_InterCurveCurve解析

是OpenCascade中的一个类,用于计算两条2D曲线之间的交点,与上面这个功能类似,但是其能返回一个IntRes2d_IntersectionPoint类对象,该对象可读取到该交点处在两个曲线上的参数值U。是OpenCascade库中的一个类,用于计算两个2D曲线之间的交点和其他相关信息。它提供了一个接口,使用户可以方便地执行曲线之间的交点计算。是OpenCascade库中的一个类,用于表示2D曲线的交点信息。它包含了交点的位置、参数值以及相关属性。Intersector()函数获取到。

2023-10-31 16:10:26 169

原创 Module FoundationClasses 基础类模块

TKernel(技术内核)是一个核心模块,提供了 OpenCascade 的核心数据结构和基本几何算法。TKernel 包括以下一些主要的包(Packages。TKernel和TKMath。

2023-10-29 14:45:10 57

原创 GC_MakeCircle解析

方法获取创建的圆对象。然后,我们可以从圆对象中提取圆的属性,如圆心和半径,并输出这些属性信息。是 OpenCascade 中的一个类,用于创建圆的几何对象。方法的返回值可以判断圆是否成功创建。如果圆创建成功,我们可以通过。在上述示例中,我们首先定义了圆的属性,包括圆心和法向量(命名空间中,用于图形渲染和图形上下文的设置。类通过提供这些属性来创建一个圆(

2023-10-29 13:46:37 153

原创 将dxf文件中的图元转换到OCC中,并进行偏置操作,判断源曲线类型

【代码】将dxf文件中的图元转换到OCC中,并进行偏置操作,判断源曲线类型。

2023-10-28 19:23:10 120

原创 通过Handle(子类)::DownCast(父类)实现Geom2d_TrimmedCurve曲线段找源曲线段

在 OpenCascade 中,可以使用。

2023-10-28 19:14:34 132

原创 ElCLib类解析

OpenCascade 中的 ElCLib 类提供了对基本曲线(例如 2D 和 3D 空间中的二次曲线和直线)进行基本几何计算的函数。它提供与参数化、点评估和曲线参数范围内的定位相关的各种操作和计算。点和矢量计算:ElCLib 允许您使用曲线参数计算 2D 或 3D 曲线上的点或导出矢量。参数评估:ElCLib 提供了评估 2D 或 3D 曲线上给定点对应的参数的函数。总之,ElCLib 提供了一组用于在基本曲线上执行基本几何计算的函数,包括点和矢量计算、参数评估以及曲线参数范围内的定位。

2023-10-28 11:20:33 111

dumpcpp用的tlb文件

dumpcpp用的tlb文件

2024-03-14

dumpcpp生成的原生h文件

dumpcpp生成的原生h文件

2024-03-14

dumpcpp生成的原生cpp

dumpcpp生成的原生cpp

2024-03-14

dumpcpp生成的原生h文件修改后的h文件

dumpcpp生成的原生h文件修改后的h文件

2024-03-14

dump生成后的的原生cpp文件修改后的cpp文件

dump生成后的的原生cpp文件修改后的cpp文件

2024-03-14

台达数控系统的dll的

台达数控系统的dll的

2024-03-14

MFC 托盘程序+启动隐藏+开机自启动

MFC开机自启动设置,显示为托盘程序,双击托盘,显示窗口,单击右键,显示子菜单,采用VS2013 VC++编程

2020-10-20

VC12下调用scilab数学库引擎

因为scilab网上公开资料非常少,作者费劲两天时间找寻各种信息,结合官方说明书介绍,整理官方关于call_scilab 和 api_scilab两个头文件信息介绍以及例程,将提供的信息集合到一个demo程序中,方便大家参考。

2020-08-16

MFC list下拉和编辑功能非常实用

列表I框控件带编辑功能和下拉选择功能,vc6.0编译通过,绝对好用源码, 下载好用的萨芬萨芬大师傅的撒发顺丰 多发发啊发大水的的的 暗示法速度发放

2015-04-09

485通讯程序 VC++

绝对好用,vc++源码,可以进行任何的代码的转换,16进制10进制都可以输入, 好好好好好好好好好好好好好好好好好好好

2013-12-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除