Qt主线程和子线程协作更新UI
摘要:一、概述 现有一个需求:Qt+OpenCV执行角点检测。使用Qt当做UI界面进行角点检测。我们知道像角点检测这种算法需要大量的计算,是比较耗时的一个操作。如果把计算+UI显示全放入主线程中计算,那么 UI界面有可能就会卡主,进而出现应用程序无响应的情况。 要求: 使用QtThread进行角点检测,让
阅读全文
posted @
2023-11-30 14:07
飘杨......
阅读(1008)
推荐(0) 编辑
Windows10+Qt+OpenCV出现“ACCESS_MASK”: 不明确的符号
摘要:一、概述 背景:Qt+OpenCV一模一样的代码在Mac上运行是正常的,在Windows10上运行就会报一下错误。 “ACCESS_MASK”: 不明确的符号 二、原因及解决方案 原因:OpenCV4.5.3的命名空间using namespace cv;和windows中的ACCESS_MASK定
阅读全文
posted @
2023-11-29 14:31
飘杨......
阅读(168)
推荐(0) 编辑
Qt 给QCheckBox增加样式
摘要:一、概述 做一个好看的QCheckBox 二、示例 1.样式 QCheckBox { spacing:5px; } QCheckBox::indicator { width: 24px; height: 24px; } QCheckBox::indicator:unchecked { image:
阅读全文
posted @
2023-11-28 17:33
飘杨......
阅读(711)
推荐(0) 编辑
Qt给QRadioButton设置自定义样式
摘要:一、概述 做一个好看的QRadioButton。可以选中,取消选中。 二、代码示例 1.样式 QRadioButton::indicator::unchecked { border-image: url(images/user_protocol_uncheck.webp); } QRadioButt
阅读全文
posted @
2023-11-28 17:30
飘杨......
阅读(1105)
推荐(1) 编辑
Qt自定义QLineEdit
摘要:一、概述 自定义QLineEdit,让QLineEdit变的好看一点。 实现效果: 1.普通输入(可以输入汉字、字符、数字) 2.只能输入数字 3.密码模式输入框 二、代码示例 1.创建EditText.h和EditText.cpp [默认样式] #include "EditText.h" Edit
阅读全文
posted @
2023-11-28 13:21
飘杨......
阅读(322)
推荐(0) 编辑
Qt创建一个自定义QPushButton
摘要:一、概述 使用Qt创建一个通用的QPushButton。应用一些样式把按钮做的好看一些。 步骤: 1.新建一个Button类然后继承QPushButton 2.设置Button的通用样式(ps:使用.qss文件的形式应用样式) 3.个性化设置不同的样式 4.做一个圆角按钮、带图标按钮、带背景图片按钮
阅读全文
posted @
2023-11-28 13:15
飘杨......
阅读(500)
推荐(0) 编辑
VisualStudio+qt+cmake添加资源文件qrc
摘要:一、概述 给Qt控件添加样式的时候需要用到Qt的qss。就像css一样可以把按钮变的比较漂亮。 设置方式有三种: 1.在代码中设置。ps:利用控件的setStyleSheet this->setStyleSheet("QPushButton {" "background-color: #2E3648
阅读全文
posted @
2023-11-27 18:01
飘杨......
阅读(1484)
推荐(0) 编辑
C++11线程传递参数汇总
摘要:一、概述 总结C++11线程传递参数: 1.传递基本数据类型(int、double) 2.传递字符串 3.传递结构体 4.传递类对象 二、代码示例 //导入线程头文件 #include <thread> //导入std命名空间 using namespace std; //传递int类型的参数 vo
阅读全文
posted @
2023-11-23 14:33
飘杨......
阅读(156)
推荐(0) 编辑
Qt QWidgetList::itemClicked不触发
摘要:一、概述 在优化Qt代码的时候发现以前写的List的item的触发事件用的是鼠标事件。而itemClicked信号对应的槽函数onItemClicked函数压根没触发。 void mousePressEvent(QMouseEvent* event); void mouseReleaseEvent(
阅读全文
posted @
2023-11-22 13:56
飘杨......
阅读(589)
推荐(0) 编辑
Windows10+VisualStudio2022+CMake+Qt开发环境搭建
摘要:一、概述 之前一直使用QtCreator当做QT的开发工具,也没觉得有啥问题。最近使用了VisualStudio+Cmake写了一些SDL2和FFmpeg的东西感觉这个VisualStudio这个工具挺好用的。就萌生了要使用VisualStudio开发Qt的想法。 有了这个想法之后就想着需要搭建一个
阅读全文
posted @
2023-11-16 16:40
飘杨......
阅读(1368)
推荐(1) 编辑
SDL2+FFmpeg5.0播放视频文件
摘要:一、概述 上一节使用SDL2播放了YUV视频文件,本节使用SDL2+FFmpeg5.0播放一个视频文件(只播放视频,不播放声音) 播放效果图: 二、代码示例 #include "sdl_ffmpeg_play.h" //sdl刷新事件 #define SFM_REFRESH_EVENT (SDL_U
阅读全文
posted @
2023-11-16 11:47
飘杨......
阅读(78)
推荐(0) 编辑
SDL2+SDL_Thread+SDL_Event实现yuv文件的播放
摘要:一、概述 上一节使用单线程播放了YUV文件。在一个线程中播放yuv文件逻辑看起来简单,但是会产生一些问题。如:视频卡顿、无响应等问题。 本节在上一节的基础上对播放YUV文件的代码进行改造,加入SDL_Event和SDL_Thread。使SDL_Thread现成发出命令时刷新YUV视频帧。等收到结束命
阅读全文
posted @
2023-11-14 17:12
飘杨......
阅读(108)
推荐(0) 编辑
SDL播放YUV数据
摘要:一、概述 上一节使用SDL2在窗口上显示了一张图片,本节使用SDL2播放YUV420P数据。 YUV420P一帧数据的长度=width*height*3/2 参考:雷霄骅大神的博客 二、代码示例 下面这段示例代码读取YUV数据和现实YUV数据都是在同一个线程中的。播放是能播放,但是会很卡,不一会儿就
阅读全文
posted @
2023-11-14 16:39
飘杨......
阅读(62)
推荐(0) 编辑
SDL事件之简单退出事件SDL_QUIT
摘要:一、概述 上一篇使用SDL加载了一张图片,图片展示后3秒窗口会自动关闭,如果不想让窗口自动关闭,而是用户自己指定啥时候关闭就啥时候关闭,该怎么弄? 那就有必要加上SDL的事件了。 加入一个简单的SDL事件非常简单。以点击X号关闭窗口为例: 1.初始化SDL事件 //初始化SDL事件 SDL_Even
阅读全文
posted @
2023-11-14 14:45
飘杨......
阅读(393)
推荐(0) 编辑
SDL2加载一个图片
摘要:一、概述 使用SDL2+SDL2_Image显示一张图片 操作步骤: SDL2的操作流程: 1.初始化SDL SDL_Init 2.创建SDL_Window SDL_CreateWindow 3.创建渲染器SDL_Renderer SDL_CreateRenderer 4.生成一个SDL_Surfa
阅读全文
posted @
2023-11-14 14:23
飘杨......
阅读(177)
推荐(0) 编辑
SDL2 无法解析的外部符号 main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)
摘要:一、概述 在使用VisualStudio+CMake集成SDL2的过程中。运行一个Demo示例出现了以下错误提示 无法解析的外部符号 main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 二、解决办法 上面问题的主要原因是程序找不
阅读全文
posted @
2023-11-14 13:17
飘杨......
阅读(666)
推荐(0) 编辑
visualstudio+cmake+环境配置,及使用过程中的一些小坑点
摘要:一、概述 想要找一个免费好用的c++开发工具。期间尝试了eclipse +CDT、VSCode+Mingw64+CMake都觉得不是很好用。最后选择了社区版的VisualStudio+CMake。之所以选择这个,是因为相对于eclipse和VSCode这个更好用。 就是使用过程中会遇到一些小问题。
阅读全文
posted @
2023-11-14 11:56
飘杨......
阅读(588)
推荐(0) 编辑
Windows10+VSCode+cmake+opencv+ffmpeg+sdl2环境配置
摘要:一、概述 在Windows10上配置一个C++开发环境: 工具:VSCode 编译器:Mingw64(使用gcc进行编译) 构建工具:CMake 第三方库:集成OpenCV、FFmpeg、SDL2 二、操作步骤 1.安装mingw64并配置bin目录到环境变量 2.下载VSCode并安装 3.安装C
阅读全文
posted @
2023-11-10 17:03
飘杨......
阅读(1115)
推荐(0) 编辑
cmake内置变量总结
摘要:一、概述 在使用CMake配置CMakeLists.txt的时候,内置变量会极大的方便我们编写。所以在这里罗列出cmake常用的内置变量 二、常用内置变量 PROJECT_SOURCE_DIR 项目根目录 PROJECT_BINARY_DIR 执行cmake命令的目录 CMAKE_CURRENT_S
阅读全文
posted @
2023-11-09 09:58
飘杨......
阅读(218)
推荐(0) 编辑
CMake多个CMakeLists.txt共同合作编译一个C++项目
摘要:一、概述 在C++项目比较大或者要根据不同的规则生成不同的执行文件或者动态库/静态库的时候。单独的CMakeLists.txt会变的比较复杂,此时可以利用CMakeLists.txt的父子关系分目录分模块的进行编译及输出。 就相当于项目模块化编译 参考博客:【大丙课堂】 二、具体实现 1.demo目
阅读全文
posted @
2023-11-09 09:48
飘杨......
阅读(2108)
推荐(0) 编辑
undefined reference to `add(int, int)'
摘要:一、概述 使用cmake编译C++项目报 undefined reference to `add(int, int)' 项目中有.cpp文件,有.h文件,有.c文件。也就是c和c++混编。其中.cpp文件引用了.c的头文件 现象: 从上面可以看出其实这几个.cpp和.c文件都已经编译过了。但是就会提
阅读全文
posted @
2023-11-08 11:14
飘杨......
阅读(152)
推荐(0) 编辑
Windows10+VSCode+CMake+shell脚本编译C/C++程序
摘要:一、概述 想要在Windows10上做C++验证/编译类库,借助VSCode(其实这东西要不要都行,它就是来方便查看代码的)+CMake+shell脚本做程序的编译运行。 下面写一个小例子记录一下 准备工作: 1.编译环境用的是mingw64,使用其再带的g++编译,ps:记得要配置其环境变量 2.
阅读全文
posted @
2023-11-07 17:48
飘杨......
阅读(247)
推荐(0) 编辑
Android接入数字键盘并通过获取键盘输入的值控制App
摘要:一、概述 需求:现有一个需求,要求给Android系统接入一个数字键盘,用于方便工人操作(ps:因为触摸屏在特定场景下比键盘低效) 需要: 1.Android系统手机/pad需要能够连接数字键盘 2.Android侧能够获取到手机键盘的按键值 3.获取到键盘的按键值之后需要做对应的操作,如:模拟点击
阅读全文
posted @
2023-11-07 10:55
飘杨......
阅读(274)
推荐(0) 编辑
shell脚本常用命令
摘要:#!/bin/bash echo $1 adb devices > devices.txt echo "开始读取设备" line_num=0 while read -r line do if [ $line_num != 0 ]&&[ -n "$line" ]; then devices_info=
阅读全文
posted @
2023-11-06 13:49
飘杨......
阅读(37)
推荐(0) 编辑
adb常用命令(持续更新)
摘要:一、概述 最近想研究scrcpy投屏神器的构建过程,里面涉及了不少的知识点,如:meson、ninja、phthon3脚本、shell脚本、gradle脚本(groovy)、adb常用命令等等 而这篇就先回顾一下adb的常用命令 二、常用命令介绍 1.配置adb环境变量 其实就是配置一下androi
阅读全文
posted @
2023-11-06 10:18
飘杨......
阅读(93)
推荐(0) 编辑
windows10编译scrcpy
摘要:一、概述 简介:Scrcpy是一款小巧的Android投屏软件,能够跨平台其支持Windows、Mac、Linux系统。右PC充当客户端,Android板子作为服务端。 原理:Android将录屏发送给PC,PC接收到数据后进行展示。PC上鼠标点击录屏上对应的坐标,把坐标通过Socket通信传递给A
阅读全文
posted @
2023-11-03 13:38
飘杨......
阅读(1299)
推荐(0) 编辑