- 博客(50)
- 资源 (3)
- 收藏
- 关注
原创 Qt5.15.2 macOS下 报错 Project ERROR: failed to parse default search paths from compiler output
Project ERROR: failed to parse default search paths from compiler output
2024-07-17 14:24:44 12
原创 Qt开发: 推荐一个缓冲队列操作类的实现
点击按钮是一个毫秒级别的动作,用户可以1s点击5次,所以,界面不应该阻塞用户的操作,这里,用户点击多少次按钮就会产生多少个任务,这是生产者。然后方块生产出来要1s,是耗时的操作,所以,我们将这步动作移入线程进行处理,不妨碍主界面线程工作。生成完毕后显示在界面上,这步就是消费者直接显示屏幕上。缓冲队列主要应用在生产者和消费者之间,保证数据的准确不丢失,提高效率。举个例子:如上图,假设点击按钮生成一个方块, 方块生产出来需要耗时1s,生成完毕后显示在界面上;然后点击10下按钮,要生产10个按钮预计耗时10s。
2024-07-11 18:16:24 139
原创 Jenkins macos 下 failed to create dmg 操作不被允许hdiutil: create failed - 操作不被允许?
enkins macos 下 failed to create dmg 操作不被允许hdiutil: create failed - 操作不被允许?
2024-06-18 14:47:42 289
原创 anaconda 环境配置
首先根据 pytorch 的版本 确定 cuda 的版本,然后在获取对应英伟达预安装dcuda 的镜像。全名查找包,--full-name表示精确查找,即完全匹配名为python的包。# 执行完上述命令后,会生成配置文件记录着我们对conda的配置。配置路径在 C:\用户\username\.condarc。将该文件放在工作目录下,可以通过以下命令从该文件创建环境。注:后加-y可以不用,输入确认创建的y。注:显示中带*的环境为当前环境。# 设置搜索时显示通道地址。向一个已存在的环境里安装包。
2024-05-13 19:37:32 443
原创 IIS 搭建简单的http网站
六.换个局域网ip访问:http://ip:10002即可浏览目录。三.打开目录浏览和设置WebDAV创作规则。四.添加个别文件的mime类型。二. 配置网站和设置IP。五.防火墙添加入站规则。
2024-05-13 17:38:27 212
原创 inno setup自定义卸载程序和美化
也就是DisplayName,因为我们在第一步的时候,将卸载程序名称也写入了注册表,所以,我们直接从注册表读DisplayName字段即可。1.要实现inno setup自定义卸载程序,首先需要关闭自带的卸载程序。在[Setup]的字段关闭卸载程序步骤和页面。2.删除应用程序目录里能够删除的并且返回进度。3.自定义卸载程序相关的注册表信息。4.删除启动菜单栏和guid注册表。2.自定义快捷方式和程序菜单。
2024-04-25 10:55:31 600
原创 opengl 学习纹理
这会为当前绑定的纹理自动生成所有需要的多级渐远纹理。多级渐远纹理背后的理念很简单:距观察者的距离超过一定的阈值,OpenGL会使用不同的多级渐远纹理,即最适合物体的距离的那个。这样没有任何效果,因为多级渐远纹理主要是使用在纹理被缩小的情况下的:纹理放大不会使用多级渐远纹理,为放大过滤设置多级渐远纹理的选项会产生一个GL_INVALID_ENUM错误代码。注意不要和纹理坐标搞混,纹理坐标是你给模型顶点设置的那个数组,OpenGL以这个顶点的纹理坐标数据去查找纹理图像上的像素,然后进行采样提取纹理像素的颜色。
2024-02-24 00:49:30 1260
原创 QT 如何让多语言翻译变得简单,提高效率?
在QT的多语言翻译过程中,分为两个步骤:第一步生成ts文件,第二步将ts文件翻译为qm文件。如果我们在需要多语言的情况下,qml经常使用qstr或者qwidget中使用tr等等,遍布许多个文件夹,在需要更新新的翻译时会很麻烦。整个工程收索并修改,效率十分低下。这里提供一个小技巧。
2024-02-21 23:52:22 304
原创 opengl 学习着色器
我们有3个顶点,和相应的3个颜色,从这个三角形的像素来看它可能包含50000左右的片段,片段着色器为这些像素进行插值颜色。在着色器主题的最后,我们会写一个类来让我们的生活轻松一点,它可以从硬盘读取着色器,然后编译并链接它们,并对它们进行错误检测,这就变得很好用了。顶点着色器应该接收的是一种特殊形式的输入,否则就会效率低下。先设置片段着色器的uniform值,我们在main函数中,渲染之前使用着色器,通过获取着色器的位置,然后设置颜色值。比如说,我们有一个线段,上面的端点是绿色的,下面的端点是蓝色的。
2024-02-21 23:08:19 1242 1
原创 QT+opengl 创建一个六边形
期间的工作很复杂,GPU上有成千上万个小处理器核心,它们能够并行处理小程序,这些小程序可以是默认的,也可以是开发者自定义的,这些用来最终处理成2D有颜色的像素的程序,统称为着色器。:告诉opengl你要绘制的图片是什么类型的,绘制指令需要指定你要绘制成什么样的形状,这里,常用的有:GL_POINTS(点), GL_TRIANGLES(三角形), GL_LINE_STRIPS(线)。,前面所说的并行小程序的其中一种,它的作用是将用户输入的3D坐标空间位置(向量vec3)转成空间位置(向量vec4)。
2024-01-28 13:25:15 1398
原创 QT + opengl 环境搭建(glfw, glad),创建一个简单窗口
1.glfw个人理解就是对底层opengl的一些基本接口的封装,提供了一些渲染物体所需的最低限度的接口。,下载完成后,打开cmake,设置工程路径和编译路径,生成sln工程,选择x86进行编译,得到库3.3.9版本glfw3.lib。图中链接的相关库,opengl32,kernel32,user32,gdi32,shell32解决你编译发生的所有错误。所以,我们为了解决运行时去正确调用opengl的接口,我们需要用到glad。以上的OpenGL(gl)版本。的库,由于OpenGL驱动版本众多,
2024-01-27 12:41:01 1176
原创 QT 跨平台获取UUID,获取CPU信息,获取内存,获取系统,获取显卡信息
【代码】QT 跨平台获取UUID,获取CPU信息,获取内存,获取系统,获取显卡信息。
2024-01-11 11:34:48 480
原创 QTCreator在mac M1系统下调试窗口不断打印 Bad CurrentVBLDelta for display 5 is zero. defaulting to 60Hz.
解决方法:在QTCreator的环境变量配置界面设置:QS_ACTIVITY_MODE = disable。
2024-01-11 10:57:49 348
原创 QT 解决CTK框架在使用QMainWindow或者QWidget的方式时,退出程序会报异常或者崩溃
1.工程配置QT += quick 2.在QMainWindow类中包含头文件#include <QQuickView> 3.private下定义一个QQuickView 变量:private: Ui::MainWindow *ui; QQuickView view; 以上配置后,你在退出程序时,ctk就不会报错了。
2024-01-10 16:02:50 609
原创 QT 在macos下lldb调试第三方插件或者库无法进入断点?
设置默认python版本, 命令行输入: defaults write com.apple.dt.lldb DefaultPythonVersion 2。切记: 上方的配置能保证在window下生成pdb,但在mac下会影响子模块断点无法进入,debug下最好能将如上两句屏蔽,这样,子模块就能下断点了。去掉影子构建(shadow build上的对勾去掉),将构建生成的库确保被执行app调用。影子构建有时会导致源代码和调试的文件不匹配。2.先确定源代码是否和调试的文件匹配?1.一直卡在调试launch?
2024-01-10 15:31:43 558
原创 QT 利用开源7z 实现解压各种压缩包,包括进度条和文件名的显示(zip,7z,rar,iso等50多种格式)
在项目当中由于需要解压各种文件,于是,通过查资料了解到7zip是开源的代码,而且方便解压各种压缩文件的格式。今天我想分享下自己实现的解压功能。第一步:编译源码,得到7zip的解压库。1.源码地址:https://www.7-zip.org/download.html,本人下载的源码如下图:2.源码编译步骤:(1).通过vs2013程序开发命令窗口进入到7z1900-src...
2023-12-30 05:51:21 1757 1
原创 用Qt 实现循环队列,达到数据缓冲机制
生产者就是兔子,消费者就是乌龟,然后缓存就是环形跑道, 生产者向缓存不断写数据,消费者不断的读数据,保证数据的高效稳定。3. 队列的特性:队列遵循先进后出的原则。队列的理解上,可以想象为一根左右开口的水管, 从左边进水,右边出水。2. 队列的分类:循环队列(单向的顺序表),双向队列(双向链表),优先队列(有顺序的完全二叉树)。1. 队列的定义:一端插入元素, 另一端删除元素的线性表。(3). 根据数据类型读取相应的包大小。2.兔子跑完一圈时的处理, 缓存临界的处理。3.多线程数据的安全处理。
2023-12-22 10:50:22 1748
原创 Qt 加载全局字体,使用第三方字体
一,使用QFontDatabase::addApplicationFont() 函数加载所有的字体文件,设置fontFamily即可。
2023-12-22 10:03:47 761
原创 QT 实现目录树或者列表控件右键菜单
ui->treeView->indexAt(pos)得到QModelIndex,再根据model()->data得到节点数据。2. slotRightMenu函数通过节点的数据,定义菜单的类型。根据鼠标的位置,通过。1. 使用customContextMenuRequested 信号。5.实现自定义菜单类:ProjectMenuFile类,继承基类。4.实现自定义菜单类:ProjectMenuDir类,继承基类。3.定义菜单的基类:ProjectMenuBase类。
2023-12-19 01:00:00 488 1
原创 QT 在window系统下部署jenkins后签名失败
一般是权限问题导致签名失败的,jenkins的服务可以设置账户。打开cmd,输入services.msc,找到jenkins,右键属性,在登录栏目,选择此账户,并输入账号和密码。然后,重启jenkins服务。
2023-12-13 00:00:00 55
原创 QWidget 自定义model/view/delegate实现树形控件
下面手把手教你写,如果看完本篇文章还不会,那我也拯救不了你了。1.定义自己的数据结构。在实现树形控件之前,你必须要定义自己的数据。model/view/delegate这个结构主要就是要分离你的数据和界面的操作。看下面这个数据结构,必须要定义的字段就是父对象和子容器。你想象一下树形节点要确定自己的位置,是不是必须知道我在哪个节点下面。假设我能展开,我是不是要知道我下面有多少子节点?// 父节点// 节点名称// 节点测试数据// 是否展开节点// 子节点容器else。
2023-12-12 15:17:34 235
原创 Inno setup 卸载和应用程序签名配置,支持脚本自动化签名
SignedUninstaller=yes =======》开启卸载程序(unins000.exe)也要签名。SignTool=ev_sign =======》ev_sign就是上面第一步你配置的标签。下面的代码,我没用到项目,项目中,我会先对所有文件签名完,在用inno setup打包,我主。要是用上面的对卸载程序签名的代码。三,完成上面的两布,最后inno setup打包生成出来的程序,卸载程序就是签名的。
2023-12-07 16:08:54 329
解压各种文件格式:rar,zip,iso
2019-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人