- 博客(152)
- 资源 (15)
- 收藏
- 关注

原创 Qt在Windows上配置web assembly保姆教程+坑
1.wasm介绍简单的说,这是一个让Qt程序可以直接跑在web中的一个方法,具体流程如下:使用Emscripten作为platfrom静态编译Qt工程,把整个工程和Qt环境打包编译成wasm可执行文件,配合html套壳一起加载到浏览器中,然后浏览器会提供一个虚拟化环境运行wasm,程序运行起来后所有的图形结果通过一个canvas输出。相比之前WebGL技术这样的远程运行技术,WebAssembly是真的把Qt程序跑在了浏览器本地上,实现了性能,效果的保证。Qt加入webassembly生态能够实现
2022-08-04 10:23:39
846

原创 ubuntu20.04源码交叉编译electron,在arm+centos(银河麒麟v10等)系统中使用,适应pagesize:65535
交叉编译electron pagesize65535 centos系列官方electro无法使用问题
2022-02-22 14:54:50
1988
原创 C++11中有哪些特性是程序员必须掌握的
5. 右值引用(Rvalue References)和移动语义(Move Semantics): 通过 && 引用和 std::move,可以实现高效的资源转移,减少不必要的拷贝。3. 智能指针(Smart Pointers): 包括 std::unique_ptr 和 std::shared_ptr,用于自动管理动态分配的内存,避免内存泄漏。4. lambda 表达式(Lambda Expressions): 允许在代码中定义匿名函数,简化了函数对象的使用。
2024-12-25 10:01:13
290
原创 opencv实时采集图像作为opengl的纹理贴图
本文尝试将opencv通过VideoCapture采集的实时图像数据作为opengl的纹理贴图。特地对Texture类进行了扩充。使用cv::Mat作为纹理数据输入,来替代使用stbi_load从文件进行加载图像。本来想使用stbi_load_from_memory,但貌似不需要,直接使用Mat.data即可得到uchar*的数据作为glTexImage2D函数的最后一个参数。
2024-10-12 23:41:48
488
原创 记OpenGL的Demo中增加ImGui后界面不显示的问题
经过不断调整代码,也可能是对这还不太熟悉吧,最终将drawData放在clearColor后界面出来了,仔细想想也能理解,先画了界面,再渲染了背景色,将界面盖住了。我的ImGui界面呢?
2024-10-03 21:19:06
419
原创 顶点缓存对象(VBO)与顶点数组对象(VAO)
我们的顶点数组在CPU端的内存里是以数组的形式存在,想要GPU去绘制三角形,那么需要将这些数据传输给GPU。那这些数据在显存端是怎么存储的呢?VBO上场了,它就是GPU上的一段存储空间对象,表现为一个unsigned int类型的变量,GPU端内存对象的一个ID编号、地址、大小。一个VBO对象既代表了GPU端的一段区域。
2024-09-22 21:03:51
355
原创 着色器(Vertex Shader)基础
顶点着色器处理顶点并告知它们在“剪辑空间”中的坐标,该空间使计算机可以轻松了解哪些顶点对摄像机可见,哪些顶点不可见,必须剪切或“剪切”掉。这使得 GPU 在后期阶段的速度更快,因为它们需要处理的数据较少。它们通过接收来自顶点列表中的单个顶点作为输入来执行此过程,并返回一个结果,该结果确定顶点在裁剪空间中应存在的位置。由于此着色器在传递给 GPU 管道的所有顶点上按顶点执行,因此可以在此着色器中执行任何需要修改顶点的操作,只要最终输出是顶点在剪辑空间中的位置。
2024-09-22 13:26:15
630
原创 OpenGL渲染管线(Rendering Pipeline)介绍
计算机图形学中,计算机图形管线(渲染管线 或简称 图形管线、流水线)是一个概念模型,它描述了t图像系统将 3D场景渲染到2D屏幕所需执行的一系列步骤。渲染管线大的可以分为三个阶段。
2024-09-21 23:04:22
445
原创 记录动态库项目仅生成了dll,未生成lib文件的问题
比如在将glad的头文件和源文件加入自建项目中计划生成glad的动态链接库时,发现仅生成了dll,未见lib,遇到这样的问题其实是因为没有定义导出库造成了。于是我们翻了翻glad的头文件便知道了怎么处理。
2024-09-21 19:09:25
687
原创 OpenGL编程思想第九版环境搭建(Glfw+gl3w)-静态库方式
gl3w(github地址)使用python3执行根目录下的gen脚本,会生成头文件include文件夹和src下gl3w.c文件。glfw(github地址)
2024-09-20 21:46:05
144
原创 OpenGL概述
OpenGL被设计为一个现代化的,硬件无关的接口。因此我们可以在不考虑计算机操作系统或者窗口下同的前提下,在多种不同的图形硬件系统上,或者完全通过软件的方式实现OpenGL的接口。OpenGL的最早版本1.0是1994年7月发布的,通过Silicon的图形计算机系统开发出来。OpenGL是一种应用程序编程接口,是一种规范,其本身并没有任何代码实现,但对其规范却存在者相应的实现,比如GLUT、GLEW、GLFW等。片元着色器(fragment shader): 处理光栅化后的片元数据。
2024-09-16 15:29:18
160
原创 QML入门之创建可重用的组件(一)
id: root// 自定义属性radius: 4Text {id: disStrWindow {id:rootwidth: 640title: qsTr("简单窗口")btnDis: qsTr("马大爷")btnh: 25console.log(qsTr("按钮点击了"))注意:如果出现找不到组件,则检查下是否将组件添加到了qrc中,如下图:如果并不是在根目录下则需要import相应的文件夹,如下:在main.qml中 import "qrc:/ui"即可。
2024-09-08 13:50:46
538
原创 QML入门之基本元素
元素分为可视元素与非可视元素,可能元素例如Rectangle、Button等。非可视元素如Timer(定时器)、MouseArea(鼠标区域)等。非可视元素一般用于操作可视元素。
2024-09-08 11:13:55
509
原创 QML入门之基本语法
QML是一个类似HTML、XML的标记语言,能够快速进行前端界面开发,让前端人员与服务器人员能够真正做到前后端分离,而不像QWigets那样,既要关心界面又要关心后台逻辑,当然这里说的后台并不一定☞服务器后台,广义上讲,除过前台界面外的逻辑都可称为后台。在QML中Window、ApplicationWindow、Rectangle、Item、MouseArea等都是组成这个界面的基本和骨架元素。每个节点都是一个元素,其坐标总是基于父节点,但其位置,可以是相对于界面中任意元素而言。先给一个简单的qml文件。
2024-09-08 10:40:39
235
原创 CPP线程管理类实现
一个线程管理模块应该包含Task(任务类)、Thread(线程类)、线程管理类(ThreadManager)。一个线程管理模块应该包含Task(任务类)、Thread(线程类)、线程管理类(ThreadManager)。一个线程管理模块应该包含Task(任务类)、Thread(线程类)、线程管理类(ThreadManager)。
2024-04-24 21:06:01
671
原创 设计模式-单例模式(Singleton)
在某些软件系统中,有一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。单例模式保证一个类仅有一个实例,并提供一个该实例的全局访问点。版本1在单线程中无问题,可以用。版本2也可以用,但在高并发场景存在性能问题,需要考虑。版本3坚决不能用,许多学者对编译器 reorder的问题进行了统计,出现redorder的概率挺大的。版本4为CPP11之后跨平台的版本,既考虑了效率,又杜绝了reorder问题,可以放心使用。
2023-12-16 23:09:27
786
原创 ObjectARX_for_AutoCAD_2022手动创建项目
一般而言,我们都是需要使用mfc类库的,打开项目属性->高级->高级属性->mfc的使用,选择在g共享DLL中使用MFC。然后运行时即可带起cad,然后appload选择我们的arx文件,发现报错了,原来是忘记加入def文件。打开VS2019,新建项目,选择动态链接库。选择使用共享MFC DLL的常规DLL。再次编译,运行,appload加载arx,输入LoginCloudDwg。选择项目属性->链接器->输入->附加依赖项,填入以下库。在项目属性-> 调试->命令中加入cad的路径杰克。
2023-11-12 20:03:31
640
1
原创 ObjectArx动态加载及卸载自定义菜单
在此基础上,我们开发时通常需要在ObjectArx程序中进行动态的添加或者删除cuix菜单。创建ObjectArx程序,添加如下代码即可实现。给CAD中添加自定义菜单CUIX-优快云博客。
2023-11-11 22:08:17
1517
3
原创 给CAD中添加自定义菜单CUIX
之后点击应用、确定,我们可以发现,cad主界面已经出现了我们添加的菜单项。下一节我们来讲一下使用objectarx动态加载我们的cuix菜单文件。然后再回到自定义界面,在局部自定义文件上右键,加载我们刚才创建的菜单。点击保存,即可存为cuix文件。打开AutoCAD2020,在命令行执行CUI并回车,出现菜单。本文以AutoCAD2020为例,介绍如何添加自定义菜单。我们为其每个菜单添加命令,否则他是不会显示菜单出来的。在此界面的下方选择命令或者新建命令,每个菜单同理。在菜单上右键,添加自定义菜单。
2023-11-11 16:35:58
4334
原创 Qt结合QWebassembly使应用程序同时支持CS与BS
本文旨在提供一个基本的Qt demo,该demo可以同时支持BS与CS访问。有人可能会说,直接Qt开发应用,需要web直接使用前端技术开发页面即可。当然,不惜成本那可以这么干。但利用Qt进行开发的话结合Wasm技术,可以打造Web和Cs的页面保持最大化的一致,这样可以使用户的习惯不用发生较大的改变。路线描述:在主程序中创建一个BS模块,将Qt wasm的web端编译产物放置在前端目录下,通过http请求进行访问。仅以一个最基本的demo进行展示,不做复杂的界面。
2023-03-14 22:33:31
996
原创 ctk框架开发Qt插件应用示例工程
前言插件化开发我们是随处可以看到的,例如mobaxterm中的组件、Qtcreator本身的插件、vacode中的各种插件等,皆是插件化开发的实例。本博客所介绍的插件:可以以动态库以及资源如图标的形式放在主框架程序的指定目录下如plugins文件夹。当主框架检测到插件目录存在插件时将会加载到主框架根据插件元数据生成相应的菜单功能。约定。获取元数据信息示例:plugin->getHeaders().value。
2023-03-10 21:55:22
1076
1
原创 QIfw制作软件安装程序
Qt Installer Framework是Qt默认包的发布框架。它很方便,使用静态编译Qt制作而成。。支持我们自定义一些我们需要的东西包括页面、交互等。组成部分:config文件夹、packages文件夹在线快乐交友平台在线快乐交友平台快乐交友有限公司注意,这里代表生成的 AppSetup.exe 的图标。用到的是 config 目录下的 app.ico,这里不能加 ico 后缀,不然不生效。
2023-02-22 21:23:37
563
原创 CTK学习:(一)编译CTK
CTK Plugin Framework是用于C++的动态组件系统,以OSGi规范为模型。在此框架下,应用程序由不同的组件组成,遵循面向服务的方法。ctk是一个开源项目,Github 地址:https://github.com/commontk。源码地址。
2023-02-19 22:11:28
1102
1
原创 基本排序算法-C++
算法思路:快速排序采用了分块处理或叫分治的思想,选取一个中心点,将剩下的数字比中心点大的放在右边,比中心点小的放在左边,以此形成两个子序列,继续如此,直到子序列中元素只剩一个。默认选取第一个元素为中心点,然后从右边开始移动右光标,将光标指向的数字与中心点进行比较,如果比中心点大,则光标继续移动,如果比中心点小,则将当前数放在左光标处。算法思路:对于n个无序数,进行n次排序,每一次都是两两比较,进行交换,将大的数往后面放,这样每一次比较下来就能将当前比较的数字中最大的找出来。算法时间复杂度 :O(n^2)
2023-02-08 11:42:20
150
原创 单向链表及二级指针
如添加节点的话,传递一级指针即可,因为例如尾插只需要根据头节点地址找到为最后一个节点,然后插入。当然传递二级指针也是可以的,只不过没什么必要,如文中代码可能会在添加节点的代码addNode中初始化第一个节点,则使用二级指针能够兼容两种情况。一般传递的指针参数为链表头节点的指针,如果对应的操作里需要修改头指针本身的值,则需要传递二级指针即头指针的地址或称头指针的指针。经常搞不清楚什么时候用二级指针,什么时候用一级指针。如初始化头节点,则需要传递二级指针,因为初始化头节点这个操作需要为一级指针的值去赋值。
2023-01-31 10:57:36
782
原创 Linux上快捷方式的创建
在/usr/share/applications下面创建应用.desktop文件即可,基本内容如下如下,如要设置更多,可参考该目录下其他desktop文件。
2022-12-24 14:27:03
314
原创 screenviewer工具在树莓派3B+上的适配
屏幕截图web端展示功能、视频设备如摄像头、视频流等接入,并可web端展示。适配初衷:这样的工具如果能完美运行在嵌入式linux上是极好的,目前仅适配了windows,所以决定适配下树莓派。
2022-12-19 17:03:54
694
原创 无工具情况下linux数据库命(postgresql)令行建表操作文档
3.如果需要新建数据库则使用以下命令:create database 数据库名;1.使用以下命令连接到postgres数据库:psql -U postgres;首先将帮助文档下的test.sql放在服务器的某个位置。2.使用以下以下命令连接到数据库(例如test):\c test;4.连接到数据库(例如test):\c test;
2022-12-13 14:58:31
760
原创 nginx代理https妈妈级手册
为了保证传输加密、访问安全,我们采用nginx服务器将http服务代理为https。所需材料:openssl(用来生成证书)、http服务、nginx自身。1.轻量版openssl下载地址:http://slproweb.com/products/Win32OpenSSL.html2.nginx下载地址:http://nginx.org/en/download.html证书的生成依赖openssl。按照以下三步生成自签名证书。1.生成证书私钥: openssl genrsa -out 证书
2022-12-07 18:39:01
1452
原创 cmake中编译动态库且依赖fortran动态库问题记录
问题背景:客户给了一个fortran创建的动态库,让我们测试是否可以使用。前提:我们是nodejs项目。问题现象:经过一系列折腾之后,客户给过来了正确动态库。(1)nodejs直接调用so:ffi编译出现一堆环境问题且这种方式仅能调用c语言编写的动态库,客户提供的是fortran库,遂放弃。(2)gcc直接编译demo工程,可以调用。gcc test.cpp xxx.so -o myout(3)cmake中编译demo调用fortran库,一直报找不见该动态库。解决办法:CMakeLists.txt中增加以
2022-12-06 12:43:30
796
原创 Linux基础知识
Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。
2022-11-28 10:46:06
12463
1
原创 树莓派上搭建SVN服务器
注释:这里组的名字不一定叫admin,组的名字可以任务,admin组有多个用户的话,可以这样制定admin=tone,tone1,tone2等。sudo svnserve -d -r /home/pi/Documents/svn #启动服务器。或者直接忽略组配置,直接配置[/] 下的用户,如san.zhang=rw si.li=rw等。当前位置在/home/pi/Documents/svn/project。[/] #必须写/,因为这表示从仓库的目录开始设置权限。#权限文件为authz。
2022-11-26 22:31:31
1081
原创 Qt for Android设置应用图标及名称
在编译目录找到AndroidMainfest.xml,新建一个放置android资源的文件夹,比如起名为android_resources,将此文件放在里面,以及图标文件。然后双击xml文件出现,在标注位置分别设置app名称以及图标即可,它会自动生成各种分辨率的图标。
2022-11-06 23:04:10
2226
原创 Qt开发Android环境配置
将下载的压缩包解压到你的指定位置,并进入,打开sdkmananger.exe,打开后需要等待一会儿会出界面,等下面进度条走完,将其他所有√全部取消,只留下这一个,点击右下角Install,等待一会儿后提示完成,关闭这个界面。如果模拟器连接不上或者出现其他幺蛾子,请将sdk 中的adb.exe复制到夜神模拟器目录替换adb.exe和nox_adb.exe。由于sdktool中自带的模拟器特比的garbage,所以,你可以安装你喜欢的模拟器,如夜神模拟器、蓝叠模拟器、网易模拟器、雷电模拟器等。
2022-11-06 22:52:51
3841
1
glut、glew、glfw动态库 x64 debug and release
2024-09-14
ctk插件框架开发工程示例,完美可运行,极其具有参考性
2023-03-10
屏幕捕捉、视频推流工具
2022-12-24
在Qt中发送邮件的库。
2022-08-09
基于QWebassembly的一个数据库监测工具
2022-08-04
websocketdemo.zip
2020-06-13
cmake跨平台编译nodejs的C++扩展
2020-04-06
Qt界面多线程opencv调用摄像头
2018-05-09
Qt5.7及以上高版本加载mysql的驱动文件
2018-05-05
python百度语音识别 语音合成demo
2018-04-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人