摘要:
mutex 互斥量的作用是保护共享数据 *:有 lock() 就一定要有 unlock() #include <iostream> #include <thread> #include <mutex> #include <list> using namespace std; class A { pu
阅读全文
posted @ 2023-06-18 22:57
十一的杂文录
阅读(44)
推荐(0)
摘要:
前言: #include <thread> thread.join() // 阻塞 thread.detach() // 非阻塞 thread.joinable() // bool,判断线程是否支持join或者detach 正文: 创建线程有三种方式,分别是:使用函数来创建线程、使用自定义的类来创建
阅读全文
posted @ 2023-06-18 22:52
十一的杂文录
阅读(409)
推荐(0)
摘要:
C++ 20 format #include <iostream> #include <string> #include <format> using namespace std; int main() { /** C++20,让字符串拼接变的更简单 * 除了常规的 字符串,数字拼接,还支持宽字符,
阅读全文
posted @ 2023-06-18 22:38
十一的杂文录
阅读(934)
推荐(0)
摘要:
std::chrono::milliseconds stopTime(2000); std::this_thread::sleep_for(stopTime);
阅读全文
posted @ 2023-06-18 22:33
十一的杂文录
阅读(155)
推荐(0)
摘要:
一、模板 # 伪命令 .PHONY: clean compileSo compileExe run: compileExe @./main compileExe: compileSo @g++ main.cpp -Llib -lsoowCapture -lcamapi -lpthread =lIma
阅读全文
posted @ 2023-06-17 22:35
十一的杂文录
阅读(274)
推荐(0)
摘要:
一、Linux上编译静态库 # 1.编译成.o文件 gcc -c a.c b.c // 2.编译成静态库 ar -r liba.a a.o b.o // 3.链接成可执行文件 gcc main.c -o main -L[库所在路径] -l[库名] g++ main.cpp -o main -L./
阅读全文
posted @ 2023-06-17 22:05
十一的杂文录
阅读(715)
推荐(0)
摘要:
新建文件 CMakeLists.txt # 设置cmake的最低版本 cmake_minimum_required(VERSION 2.8) # 指定为C++11 版本 set(CMAKE_CXX_STANDARD 11) # 设置工程名称 project(wss) message(${PROJEC
阅读全文
posted @ 2023-06-05 13:36
十一的杂文录
阅读(236)
推荐(0)
摘要:
需求: 点击QPushButton按钮,QLabel中的数字,不断累加,一直到999。 做法: 创建任务类,点击QPushButton后,将任务类放入线程池中运行,通过任务类while循环,不断发送累加的数字回主线程,修改QLabel中的数字 其他: 线程池的好处是可以最大程度的利用线程,减少资源的
阅读全文
posted @ 2023-05-30 00:12
十一的杂文录
阅读(397)
推荐(0)
摘要:
需求: 点击QPushButton按钮,QLabel中的数字,不断累加,一直到999。 做法: 创建任务类,用来完成任务,创建子线程,将任务类放到子线程中,点击QPushButton后,先发送信号启动任务类的任务,然后启动线程,通过任务类while循环,不断发送累加的数字会主线程,修改QLabel中
阅读全文
posted @ 2023-05-29 23:48
十一的杂文录
阅读(122)
推荐(0)
摘要:
需求: 点击QPushButton按钮,QLabel中的数字,不断累加,一直到999。 做法: 点击QPushButton后,启动线程,线程while循环,不断发送累加的数字回主线程,修改QLabel中的数字 其他: 这种线程的写法是最简单的,全部是Qt封装好的,只需要重写 run 函数就可以了。
阅读全文
posted @ 2023-05-28 22:54
十一的杂文录
阅读(210)
推荐(0)
摘要:
背景介绍: 我的程序是启动后,默认就隐藏到托盘中,等待http请求后,显示界面。所以最小化到托盘的代码,我是写在初始化里面。 正文: 一、自定义消息 WM_SHOWTASK #define WM_SHOWTASK (WM_USER + 101) 二、在类向导中添加消息处理 点击【类向导】、【消息】、
阅读全文
posted @ 2023-05-17 13:34
十一的杂文录
阅读(283)
推荐(0)
摘要:
// 直接设置中文,会出现乱码 ui.pushButton->setText("中文"); // 方法一 ui.pushButton->setText(QString::fromUtf16(u"中文")); // 方法二 ui.pushButton->setText(QString::fromLoc
阅读全文
posted @ 2023-05-15 22:13
十一的杂文录
阅读(61)
推荐(0)
摘要:
Qt 信号槽 Qt的信号槽,除了使用信号连接槽,还可以信号连接信号,断开信号,发送(转发)信号。 一个信号可以连接一个槽,也可以一个信号连接多个槽,还可以多个信号连接一个槽。 // 信号连接槽 connect(发送者,信号,接受者,槽); // 信号连接信号 connect(发送者,信号,接受者,信
阅读全文
posted @ 2023-05-14 22:22
十一的杂文录
阅读(87)
推荐(0)
摘要:
序言: 程序使用Qt开发,程序主要功能是调用摄像头。需要打包成pkg给到用户安装,打包用到的是xcode。 实际操作: 一、Qt工程转xcode工程 // 打开终端,cd到项目根目录(CamScan.pro目录),使用qmake生成xcode工程文件(CamScan.xcodeproj) cd /U
阅读全文
posted @ 2023-05-10 14:46
十一的杂文录
阅读(690)
推荐(0)
摘要:
需求:在Mac系统上,调用摄像头,实现旋转、缩放、处理视频帧等功能 问题:使用获取视频帧的方法,在Mac上调不起来摄像头 解决方法: 将视频窗口(QVideoWidget)和视频帧(QVideoFrame)两种方法都用上 QVideoWidget的作用是,让Qt可以启动摄像头 QVideoFrame
阅读全文
posted @ 2023-05-10 14:02
十一的杂文录
阅读(390)
推荐(0)
摘要:
背景: 在linux系统上,我们使用 Qt 开发动态库项目时,会默认生成四个文件:x.so 、x.so.1 、x.so.1.0、x.so.1.0.0 四个文件,只有一个真实的so库,剩下的三个都是链接文件。 我们交付的时候,不可能发一堆文件出去,所以我们需要对 Qt 项目进行设置,保证输入的只有一个
阅读全文
posted @ 2023-05-07 21:48
十一的杂文录
阅读(1087)
推荐(0)
摘要:
本示例,为纯Qt调用摄像头,功能会比版本一要多一点:打开摄像头,设置参数,完整拍照,框选拍照,切换分辨率,旋转,水平镜像,垂直镜像,放大,缩小 上一个版本,使用的显示窗口直接显示出摄像头画面,所以可操作性有限, 没关系,这个版本使用的另一种方法:打开设备,获取视频帧,自己把视频帧画上去,这样就操作的
阅读全文
posted @ 2023-03-31 16:21
十一的杂文录
阅读(596)
推荐(0)
摘要:
需求:纯Qt,把多张图片合成到一个PDF文件中 // 合成PDF // include <QPdfWriter> QString pdfFileName = "D:\\a.pdf"; QStringList imageFileNameList = {"C:\\Users\\admin\\Docume
阅读全文
posted @ 2023-03-22 11:11
十一的杂文录
阅读(457)
推荐(0)
摘要:
本示例,为纯Qt调用摄像头,功能比较简单,打开摄像头,设置参数,拍照 涉及到的功能有: 获取摄像头列表 获取摄像头分辨率 获取摄像头帧率 获取摄像头支持的视频模式 设置摄像头参数 拍照 此版本的缺点是:无法做复杂操作,比如:打开摄像头画面,将视频直接显示在 QWidget 上,这种做法无法实现旋转功
阅读全文
posted @ 2023-02-21 19:20
十一的杂文录
阅读(1670)
推荐(0)
摘要:
// js从base64数据中获取宽高 var image = new Image(); image.src = "data:image/png;base64," + base64数据; var imageWidth = image.width; var imageHeight = image.he
阅读全文
posted @ 2023-02-14 19:22
十一的杂文录
阅读(1370)
推荐(0)
摘要:
现象描述: 客户电脑是win10,定制带版权的电脑,安装的有卡巴斯基安全软件(最开始并不知道有这么个玩意),使用客户端软件,软件可以正常打开,但是软件无法打开摄像头画面(*:软件在其他电脑都是正常使用的) 分析及处理过程: 第一次:怀疑是文件权限的原因,给安装后的文件夹设置权限,无效 第二次:怀疑是
阅读全文
posted @ 2023-02-08 17:48
十一的杂文录
阅读(365)
推荐(0)
摘要:
一、rpm是什么 rpm是一种安装包的格式。就像在Windows系统上我们常见的安装包格式是exe和msi一样,在linux上常见的安装包格式是deb和rpm。一般在红帽系列的系统上,不支持deb,所以我们需要将程序打包成rpm安装。 二、rpm的打包工具 rpm的打包,我们需要用到:rpmbuil
阅读全文
posted @ 2022-11-22 17:07
十一的杂文录
阅读(5687)
推荐(0)
摘要:
有个软件,里面做了13种语言,销售要求实现重新设置软件语言后,不需要重启软件,就可以看到软件显示出对应的语言。 软件中所有需要翻译的地方都是用的 tr(QString) 来做的,并且软件是多个窗口(QDialog),需要在设置窗口中设置语言,然后其他窗口的语言也发生变化。 最开始的做法是: 1.重新
阅读全文
posted @ 2022-11-04 16:39
十一的杂文录
阅读(1992)
推荐(1)
摘要:
背景: 现在公司项目需要做一个检测更新的功能,通过访问后台接口,判断是否需要更新。 后台接口是 https 协议的,接口需要post请求,需要带参数,来判断是哪个软件需要做检测更新的操作。 客户端软件使用Qt写的 重点 & 注意事项: 1.https协议,需要用到 ssl,如果跑起来报错,基本都是
阅读全文
posted @ 2022-10-24 14:50
十一的杂文录
阅读(1277)
推荐(0)
摘要:
在centos上运行django,报错: django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17). django.db.utils.NotSupportedError:
阅读全文
posted @ 2022-09-23 16:01
十一的杂文录
阅读(1172)
推荐(0)
摘要:
1. 进入到项目的根目录,编写 uwsgi.xml 配置文件 *:centos用的不是 uwsgi.ini,而是 uwsgi.xml <uwsgi> <socket>127.0.0.1:8997</socket><!-- 内部端口,自定义 --> <chdir>/huyang/mysite/</ch
阅读全文
posted @ 2022-09-23 15:48
十一的杂文录
阅读(106)
推荐(0)
摘要:
1. 上传项目 用 ftp 或者 sftp 上传项目到服务器。 *:如果上传时,报各种错误,可以考虑下是不是服务器中文件夹权限的问题。如果是权限的问题,可以使用命令修改文件夹权限后在上传:chmod 777 dirName 2.安装项目需要的各种库 比如: pip3 install django p
阅读全文
posted @ 2022-09-23 15:28
十一的杂文录
阅读(66)
推荐(0)
摘要:
前言: 参考文档: https://www.cnblogs.com/djangocn/p/9538551.html https://www.icode9.com/content-3-546765.html Python 、 nginx 下载地址: Python下载地址:https://www.pyt
阅读全文
posted @ 2022-09-23 15:16
十一的杂文录
阅读(70)
推荐(0)
摘要:
1. uwsgi 1.1 项目结构如下,你要知道 uwsgi.ini 放在什么位置 projectName |-- app |-- projectName |-- -- wsgi.py |-- -- settings.py |-- uwsgi.ini 1.2 在项目根目录下新建 uwsgi.ini
阅读全文
posted @ 2022-09-06 17:55
十一的杂文录
阅读(199)
推荐(0)
摘要:
首先将我们开发好的工程代码上传到服务器(Ubuntu) 用命令启动,然后进去浏览器检查,看看是否能正常启动 python3 manage.py runserver 如果 settings.py 中 debug=True,访问网页都是正常 但是 settings.py 中 debug=False,访问
阅读全文
posted @ 2022-09-06 17:41
十一的杂文录
阅读(143)
推荐(0)