- 博客(52)
- 收藏
- 关注
原创 Windows QtMqtt安装 图像传输
上面完成后,代码中就可以测试跑 qt\5.15.2\Src\qtmqtt-5.15.2\examples\mqtt\simpleclient 这个示例了,可以把simpleclient这个示例单独复制出来,到其他目录用qt creator来跑测试下即可;编译后如果存在提示 一个rc文件没有目录等问题,但是实际本地已经生成了,就不用管他,这时候需要手动进行对应文件处理即可;下图中需要选择对应自己的版本,建议git工具下载,如果是download下载,需要手动创建.git空目录;自己下载开源版本的EMQX。
2024-12-20 09:15:52
1003
原创 Python PyQt5 简单的信号和槽 多线程传数据
python qt的信号与槽和c++ qt还是有一些区别的,尤其是在connect方面;python qt信号和槽需要关注下对象的生命周期,不然信号发送后槽是接受不到的;2、b.py:主线程文件,信号和槽的绑定,槽(接受信号);1、a.py :多线程及定义信号和发送信号;
2024-12-04 14:30:57
222
原创 windows python qt5 QChartView画折线图
环境:windows pyqt5 ,用QCartView画折线图。环境需要提前安装 pip install PyQtChart。折线图随着时间推移会不断移动,主动更新x轴坐标。
2024-12-04 14:19:53
499
原创 windows python opencv imshow图片报错解决
卸载 pip uninstall opencv-contrib-python。安装 pip install opencv-contrib-python。cv2意思是opencv c++ o(* ̄︶ ̄*)o。建议使用Anaconda。
2024-12-03 11:32:36
1148
原创 python写共享内存,格式json
但是需要注意,程序如果退出,写入共享内存数据就失效了!_lock .acquire() 获得锁。_lock .release() 释放锁。_lock = Lock() 声明锁。关于锁的问题,根据自己情况添加即可。以下写共享内存,格式为json;
2024-11-26 14:27:14
330
原创 Windows Qtcreator不能debug 调试 qt5 程序
我使用的是 编译器是 MinGW8.1.0 ,这个版本是有问题的,需要更新到最新,我更新的是MinGW13.1.0 for c++;具体可以操作,用qt安装目录下的 MaintenanceTool.exe 进行就可以;Windows下 Qt Creator 14.0.2 与Qt5.15.2 正常release打包都是没有问题的,就是不能debug,最后发现是两者不兼容导致的;项目选择新的 编译器就可以;最好是在这里把以前老的编译器 右键 Disable 关闭了,这样在下面构建选择时候就看不到老的了;
2024-11-25 14:23:36
674
原创 Qt5 读写共享内存,已验证,支持汉字的正确写入和读取
相比网上其他介绍的方法,大部分均不支持汉字的正常读取,下面方法已经做了汉字存储的支持,可以进行测试;Qt5,读写共享内存,Windows下同一个进程下可测试;通过查看控制台输出即可看到写入和读出的内容;下面方法通过添加按钮事件触发即可测试。
2024-10-30 15:54:22
372
原创 Windows QT c++ 动态折线图 X轴更新
QT_CHARTS_USE_NAMESPACE //必须要有这个宏 不然不支持QCharts;发布 Windows Qt5.15.2 MinGW 64-bit。2、DynamicChart继承QChartView。开发不易,站在别人肩膀上快速开发迭代;私信留微信,付费提供源码;
2024-10-28 16:58:42
190
原创 QMediaPlayer播放视频叠加透明元素
本问主要解决QMediaPlayer在播放视频过程中,希望在视频中叠加其他元素显示时候,会出现通过qss设置等方式设置透明背景无效的问题。
2024-10-28 15:54:03
432
原创 手动指定ubuntu环境下程序打包指定目录
{CMAKE_INSTALL_PREFIX}为程序目录的安装位置,如果需要安装到其他位置,只需要修改此项即可。在打包时候默认不能打包一些静态资源的,比如以配置文件为例config目录。config目录打包后,将安装到DESTINATION指向的位置;Ubuntu在打包过程请自行检索其它文章;
2024-06-25 15:25:35
420
原创 GPS原始数据在百度地图上的显示办法
本办法只是测试下GPS直接过去的经纬度信息,然后在百度地图网页上的正确显示办法;https://api.map.baidu.com/geoconv/v1/?coords=116.477654,39.737326&from=1&to=5&ak=yBeph9or2paaHVyhddaCvGWQ44SSVUjA将上面连接中的coords=后面的值换成你自己的经纬度信息,经度在前,维度在后,注意中间的英文逗号;然后会返回:{"status":0,"result":[{"x"
2022-05-31 17:35:08
2235
原创 QT读取GPS信息,信息组包,防止异常错乱
读取$GNRMC经纬度信息;处理类似$GNRMC,064401.65,A,3110.4706987,N”"110.3568,E,0.604,243.2,30,0713,0.0,W,A*3E”或者$GNRMC信息一包不完整的情况,不然程序会偶发宕机;头文件引用头文件引用#include <QSerialPort>#include <QSerialPortInfo>private slots: void serialRead();private:
2022-05-31 17:09:08
1660
原创 ubuntu qt cmake 配置问题
1、qt的正常安装即可,给一个简单的教程http://c.biancheng.net/view/3886.html2、安装完成建一个测试的qmake程序进行测试;3 、如果第二步成功了,新建一个cmake进行测试;4 、如果cmake工程出来报错,只有一个CMakeList.txt文件,需要进行如下处理:a、首先看下错误内容是否为 Failed to find “GL/gl.h“ in “/usr/include/libdrm“, 如果是则进行sudo apt install mes
2022-04-15 16:16:13
2454
原创 c++定时器,linux已测试ok
本文只做记录使用,方便后续查找,感谢作者!c++定时器_搁浅的渔的博客-优快云博客_c++定时器CTime.h文件#ifndef EXCAVATORSERVICE_CTIMER_H#define EXCAVATORSERVICE_CTIMER_H#include <functional>#include <chrono>#include <thread>#include <atomic>#include <memory&
2022-04-13 11:42:47
295
原创 linux服务端下的c++ udp socket demo
linux服务端 udp socket demo 如下://创建接受数据的socket int iSock = socket(PF_INET,SOCK_DGRAM,0); printf("socket ss:%d \n",iSock ); struct sockaddr_in server_sockaddr; memset(&server_sockaddr, 0, sizeof(server_sockaddr)); //配置sockaddr_in 结.
2022-04-07 17:23:00
3128
原创 ROS系统初步了解,从整体上了解系统的结构和作用
下图来自Client Library与roscpp · 中国大学MOOC———《机器人操作系统入门》讲义通过这张图让大家清晰的认识下ros的结构以及名词的作用和所处的位置,简单明了!
2022-04-02 16:03:53
1217
原创 clion同一个项目创建多个可执行文件
简述需求:需要写多个可执行文件,但是文件一些工具类等都是通用的,比较麻烦的就是创建多个项目,下来让你一个项目中生成多个可执行文件,用到那个编译那个就可以了。默认创建好项目后,项目会生成cmake-build-debug目录、CMakeLists.txt、main.cpp这个时候默认的main.cpp就是你的默认项目的可执行文件了CMakeLists.txt如下:cmake_minimum_required(VERSION 3.21)project(test) //这里是项目.
2022-03-30 14:26:44
4371
1
原创 redis的hscan替换hgetall的疑问,redis返回列表获取数据示例
在hash表中通过hgetall方法获取全部的key和value害怕之后影响效率!想要通过hscan来通过游标分页获取,恭喜你,想的是对的,但是通过实测每次hscan给的数量和游标都没有效果,返回全部的数据!这里通过查询得知,当hash表的数据小于一定量的时候(1023条,不一定正确),hscan模式返回的是全部数据的,返回的游标也是0;想要预留的的话,可通过判断返回值的游标、返回type、返回数量来做自己的定制处理;当返回游标为0时候,表示已经返回完数据了,type表REDIS_REP
2022-03-29 11:15:29
2324
原创 c++ 序列化,结构转json
站在巨人的肩膀上,提高效率,避免重复造轮;感谢作者!使用示例:#include <iostream>#include "xpack/json.h" // Json包含这个头文件,xml则包含xpack/xml.husing namespace std;struct User { int id; string name; XPACK(O(id, name)); // 添加宏定义XPACK在结构体定义结尾};int main(int argc, c
2022-03-25 10:47:16
1917
原创 boost 共享内存上创建一个复杂的map
此仅为记录参考:参考文档1:用boost在共享内存上创建一个复杂的map_phonzia的博客-优快云博客参考文档2:使用Boost将stl map放入共享内存_涟漪、的博客-优快云博客
2022-03-18 10:21:35
420
原创 解决 ROS 的慢和失败
ubuntu为例,更新源就不说了;给什么源和一些host的ip,没有多大意义,因为ip会变,源也会不稳定,下面教的是方法;学会方法,可以灵活运用;下面方法还适用其他慢的处理,不仅仅只是针对ROS 哦!向下看吧!1、vcs import src < ros2.repos 慢或者彻底失败;解决:打开文件,看下需要下载的域名一般为github.com,然后ping 下这个域名,把ping出来的ip地址写入 /etc/hosts中,你会发现成功率很高,变快了,然后命令vcs多十
2022-03-10 16:33:42
2029
原创 ubuntu下中文输入法googlepinyin 及 googlepinyin宕机解决办法
谷歌中文输入法教程,请参考如下地址:https://www.jb51.net/article/192113.htm除了重启电脑的解决方案,输入法偶尔宕机处理:在终端输入:pkill scimscim -d方便使用,写一个脚本文件.sh文件,然后给文件可执行权限,然后当输入法崩溃后,可以在终端输入./gpinyin.sh 即可...
2022-03-04 15:56:50
536
原创 Clion 打包exe无法运行 且 cmd窗口中文乱码
打包exe无法运行CMakeLists.txt文件中添加set(CMAKE_EXE_LINKER_FLAGS "-static")cmd中文乱码clion中的项目文件编码都是默认utf-8,mingw经过编译处理之后生成的文件也是utf-8,但是cmd默认按照gbk编码处理。在main方法中添加以下代码即可解决问题。system("chcp 65001"); //为了解决命令行显示中文乱码clion可控制台乱码1、clion打开 快捷键 Ctrl+Shift+Alt+/2、取消勾选,.
2022-03-04 13:56:34
1904
原创 windows客户端和linux服务端下的c++ tcp socket demo
window下的客户端参考文档 安装MinGW:https://blog.youkuaiyun.com/weixin_43141320/article/details/114487461CMakeLists.txt添加,要在add_executable前面link_libraries(ws2_32 wsock32)#include <iostream>#include <string>#include <cstring>#include <winsock2
2022-03-03 18:00:08
1417
原创 c++ map在遍历中删除元素
c++在遍历中删除元素需要注意,不然很容易引起宕机map<int,int>::iterator itr;for(itr=testmap.begin(); itr!=testmap.end(); ){ //++itr 这里要注意不要添加,留空 int ikey = itr->first; int ivalue = itr->second; if(1==1){ testmap..erase(...
2022-03-03 17:47:45
2499
原创 Ubuntu c++ 简单的多线程 例子
CMakefile.txt 需要添加 ,位置不好在最后面set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")方式1:#include <thread>调用:CTestThread mtest;thread m_thread_test(mtest);CTestThread.hclass CTestThread {public: void operator()() { start(); }...
2022-03-03 17:41:48
1014
原创 Ubuntu c++ 使用redis clion工具
安装hiredis过hiredis.h接口来实现,目前只能在Linux环境使用。apt-get install libhiredis-devCMakeLists.txt需要填写include_directories(/usr/local/include/hiredis)link_directories(/usr/local/lib)link_libraries(hiredis)这部分一定要在add_executable 上面如果有问题说明库libhiredis.so位置不对找不到.
2022-03-03 17:15:07
686
原创 Ubuntu20 安装redis服务
安装 sudo apt-get install redis-server -y修改配置文件配置文件位置 /etc/redis/redis.conf#设置端口 port#设置密码 requirepass启用远程登录的话 注释掉 bind 127.0.0.1protected-mode 修改为 no配置文件修改完成后一定要重启下redis服务,通过下面的命令,如果还是不行可以尝试重启服务器,但是确保防火墙为关闭或者端口为(6379)放行# 启动 redis 服务service...
2022-03-03 17:05:46
1227
原创 Ubuntu检测ip有效性 且 修改系统ip
//正则表达式实现检测IP地址是否有效bool UntilTool::CheckIPAddrIsVaild(string str){ regex check_ip("(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])[.](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])[.](25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[1-9])[.](25[0-5]|..
2022-01-28 09:54:26
2520
原创 ubuntu修改系统时间
//时间月QString time_y = ui->sys_let_time_y->text();//时间日QString time_r = ui->sys_let_time_r->text();//时间时QString time_s = ui->sys_let_time_s->text();//时间分QString time_f = ui->sys_let_time_f->text();//时间秒QString time_m = ui-&g
2022-01-28 09:48:01
1247
原创 linux下命令行方式的音量控制
输入命令:alsamixer;//设置系统音量,这个百分比会有一定的误差存在amixer set Speaker 100% //设置系统麦克风amixer set Mic 100%c++代码可以执行运行上面的命令:QString yl = "amixer set Speaker 100%"; QByteArray cmd; cmd.append(yl); //也可以 ba2 = s2.toLatin1(); const ...
2022-01-25 11:02:19
3450
原创 关于qt中加载gif图片,cpu占用过高的解决发办法
1、将gif图拆分成若干张静态png图;2、程序启动,QImage对象list中;3、使用定时器或者多线程来控制label setPixmap加载的QImage对象; 关于gif显示快慢的问题,多线程可以控制循环的时间周期来控制gif的显示快慢!...
2022-01-24 15:05:27
1808
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人