自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (4)
  • 收藏
  • 关注

原创 QCustomPlot 瀑布图色度条

官方采用的是QCPColorScaleAxisRectPrivate这个类,通过调用这个类的draw 函数进行刷新底色值及矩形框。色度条上的数值可以看成矩形框的x轴数值,色度条的边框可以看成是矩形框的坐标轴。是通过一个insetLayout 添加上去的,QCustomer中的元素都是在布局中存在的,为了放置一个legend,一个QCPAxisRect默认带一个QCPLayoutInset,这个布局默认是为了放置图例,这里我们可以在这个布局上添加一个色度条。这句话的作用是将色度条放入瀑布图框中。

2023-10-31 20:03:50 620

原创 QCustomPlot图像刷新原理

主要关注QCPLayer 和QCPLayout,几乎所有的元素都是放置同一张布局中的,布局是核心要素,不同的元素可能不在同一张layer ,即不在同一层,不在同一层的元素的区别就是上层的元素会挡住下层的元素,主要是因为不同层的刷新顺序有区别,具体看源码。继续查看draw函数,这个对每一层的cplayerable 进行画图,cplayerabale是一个父类,根据c++ 的多态特性,通过父类指针调用纯虚函数(这里指draw),可以执行子类的draw 函数。这里进行一层一层的画图。借用官方的这张图分析。

2023-10-31 19:57:33 510

原创 qt 批量写入excel数据(已封装好),按列写入

此方法需电脑安装office 或者wps ,原理为调用软件的接口。若想更快的提升速度,可以只打开一次QAxObject* excel = new QAxObject()。默认的第一行标题为如下图所示,可进行更改为任意想要的标题。导出的数据如图所示。

2023-05-12 19:19:52 1347 1

原创 windows远程桌面无法拷贝文件

一个是在远程桌面的设置里面打开剪贴板功能,如果不打开是没有办法使用远程桌面的双向拷贝功能的. 这个时候只需要在远程桌面之前将该设置打开就好了.另一个就是远程桌面的服务器上负责双向拷贝功能的进程挂了. 在windows系统中,负责远程桌面的双向拷贝功能的进程是rdpclip.exe.结束此进程,然后运行此进程即可恢复功能。

2023-05-12 18:10:13 865

原创 qt 实现字符串转16进制(QString 转QByteArray )

示例:假设有一字符串,需要按两个字符组成一个字节,将它保存到QByteArray array数组中。

2023-04-10 22:58:20 4068

原创 将程序安装成windows服务

安装成服务可随系统自动启动,不用登陆到进用户即可启动,一般是一些后台的服务程序。3、按如下图修改service.xml,此文件用于注册服务用。2、将压缩包中以下内容放到合适位置。1、为什么要安装成服务呢。

2022-11-29 20:24:04 670

原创 qt事件相关的应用。

有时候需要处理一些跟界面无关的但非常耗时的事情,这些事情跟界面在同一个线程中,由于时间太长,导致界面无法响应,处于“假死”状态。例如:在应用程序中保存文件到硬盘上,从开始保存直到文件保存完毕,程序不响应用户的任何操作,窗口也不会重新绘制,从而处于“无法响应”状态,这是一个非常糟糕的体验。如果一些事情处理起来有先后顺序,可以用loop事件阻塞,程序执行到exec()时,会阻塞住,等待loop.quit或者loop.exit(0)的调用。

2022-09-09 17:40:46 113

原创 qt之 exec和show

exec()一般用于子窗口界面,在执行完后就会析构掉子窗口,不会占用系统资源。show()一般是用于与主窗口同步显示的界面。会跟主窗口同时存在。

2022-07-22 11:22:42 2154

原创 qt之编译成功但程序无法运行

一般这种都是第三方库没有配置好,可能是因为用的库是动态库,运行时要把dll放在程序运行目录下。

2022-07-22 11:10:00 3790

原创 qt之QString正则表达式

正则表达式匹配QString strIPExp=QString::fromLocal8Bit(“IPv4 地址 . . . . . . . . . . . . : [\d.]*”);QRegExp ipRegExp(strIPExp, Qt::CaseInsensitive);ipRegExp.indexIn(msg);//从指定字符串中查找匹配字符串位置ipRegExp.cap(0);//取出匹配到的第一个字符串.........

2022-07-10 10:17:32 2773

原创 qt之界面按回车键自动退出----设置默认焦点

一般按回车键执行了某个按钮,如果按钮正好为关闭按钮,就会关闭当前界面当焦点在ui.pushButton这个按钮上的时候,按下回车,该按钮就发射clicked()信号。方法一:方法二:重写当前类的的键盘事件方法三:连接回车触发的信号与动作当用户编辑好信息后按回车就会触发界面上的某个按钮的信号,代码实现如下:在Qt的UI设计师中设置了两个控件QLineEdit 和 QPushButton;当编辑QLineEdit控件中的信息后按回车就会触发QPushButton的信号clicked()。...

2022-07-05 20:55:26 1928

原创 qt中toLocal8Bit和toUtf8()有什么区别

将QString 字符串写入文件时,通常会借用QByteArray作为中间变量,有两种方法。QString::toUtf8是输出UTF-8编码的字符集QString::toLatin1是相当与ASCii码不包含中文的遇到中文默认转换为ascii码0x3f也就是字符’?‘QString::Local8bit是本地操作系统设置的字符集编码,一般为GB2312.查看本地操作系统设置的字符集编码,启动cmd ,输入chcp,活动代码页为936,意思是"中国-简体中文(GB2312)"ANSI码(Am

2022-06-29 22:49:01 5965

原创 mysql服务启动失败

在操作数据库时出现这个问题。主要是C:\ProgramData\MySQL\MySQL Server 5.7\my.ini这个文件设置的有问题。检查此文件中的此路径包含了当前数据库的数据文件。首先查看是否存在此路径,如果存在,将其重命名,然后新建一个Data文件夹,因为当数据库出现问题时,启动服务也会失败。...

2022-06-08 18:40:15 471

转载 qt之槽函数的lambda写法

一共包含六个部分(部分可以省略)标识一个Lambda的开始,这部分必须存在,不能省略。函数对象参数是传递给编译器自动生成的函数对象类的构造函数的。函数对象参数只能使用那些到定义Lambda为止时Lambda所在作用范围内可见的局部变量(包括Lambda所在类的this)。函数对象参数有以下形式:空。没有使用任何函数对象参数。标识重载的**( )**操作符的参数,没有参数时,这部分可以省略。参数可以通过按值(如:(a,b))和按引用(如:(&a,&b))两种方式进行传递。mutable声明,这部分可以省略

2022-06-01 21:42:30 1072

原创 Qt之msvc 编译中文字符时乱码或者报错

在.pro文件中加入以下代码msvc{ QMAKE_CFLAGS += -source-charset:utf-8 QMAKE_CXXFLAGS += -source-charset:utf-8}原因:qt默认编辑器的编码方式为utf-8,MSVC编译器可以支持源代码文件的编码为UTF-8-BOM(即带BOM格式的),即默认不支持UTF-8.因此一种方法是将utf-8转为utf-8bom格式,或者直接设为为system也可以,(如下图)但是此时编译器不报错,但是显示中文乱码,需要

2022-05-30 21:31:30 926

原创 qt之qsettings保存配置文件

包含头文件#include 从文件读取配置 QString path = QCoreApplication::applicationDirPath(); QString cfgpath = path + "/config/Config.ini"; if (QFile::exists(cfgpath)) { QSettings config(cfgpath, QSettings::IniFormat); QString value = config

2022-05-22 17:39:19 445

原创 qt之tablewidget设置自定义宽度和自适应宽度

设置列固定宽度设置第一列为固定宽度ui->tableWidget->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Fixed);ui->tableWidget->setColumnWidth(1, 80);设置第一列为自动宽度ui->tableWidget->horizontalHeader()->setSectionResizeMode(i,QHeaderView::Stretch

2022-05-12 19:16:08 9176

原创 Qt线程间数据通讯及数据共享

方法一:使用全局变量或全局函数,使用全局变量或全局函数,在其他类或线程中调用,这是各种编程语言中都通用的方法,但全局变量长时间占用内存,影响程序空间使用率,且全局变量修改影响整个程序,程序的安全性无法保证,一般尽量少用全局变量或函数。方法二:使用信号与槽注意事项只有QObject类及其派生的类才能使用信号和槽的机制 在线程间使用信号槽进行通信时,槽参数必须使用元数据类型的参数;如果使用自定义的数据类型,需要在connect之前将其注册(qRegisterMetaType)为元数据类型;线程间用

2022-05-12 19:06:55 2316

原创 qt中QJsonObject,QJsonDocument,QJsonArray的区别及相互转化

json数据的分析QJsonArray相当于一个json数组,形如这样[{ "name":"zhangsan", "id":"002",}{ "name":"lisi", "id":"001",}]那么如何取出第一个大括号的内容呢?Qjsonarray jsonarray;jsonarray[0]即为第一个大括号的内容返回值为QJsonValue,将value值转化为jsonobject对象,直接调用toobject方法QJsonObject json= jsonarr

2022-05-06 20:08:46 3133

原创 数据库MySQL配置命令详解

命令行打开数据库create user ‘hag’@‘%’ identified by ‘HagSoft@123’;//创建一个账户ALTER USER root@localhost IDENTIFIED BY ‘HagSoft@123’;//更改账户密码alter user’hag’@‘%’ IDENTIFIED BY ‘HagSoft@123’;//更改账户密码grant all privileges on . to ‘hag’@‘%’ with grant option;//设置远程链接g

2022-04-24 08:17:22 347

原创 qt之.pro文件详解

Qt程序版本号之rc文件,发布的应用程序,可以设置版本号,鼠标右键exe文件,属性中查看,像这样:QT工程pro文件模板变量(TEMPLATE)模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。lib - 建立一个库的makefile。vcapp - 建立一个应用程序的Visual Studio项目文件。vclib - 建立一个库的Visual Studio.

2022-04-21 19:20:18 497

原创 SVN详细使用教程

一、SVN的工作原理二、SVN的主要操作SVN检出(SVN Checkout)SVN提交(上传 SVN Commit)SVN更新(下载 SVN Update )重新定位:SVN地址发生改变时,需要重新定位显示日志:查看历史记录1、SVN检出(SVN Checkout):SVN检出是在第一次与SVN服务器建立连接的时候使用检出时需要提供:SVN的地址用户名和密码注意:在检出前,先新建一个文件夹,因为检出时会检出很多文件和文件夹,新建一个文件夹就是为了把所有检出的文件和文件夹放在一起。

2022-04-21 18:27:06 6024

原创 【无标题】

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-04-21 09:11:47 88

原创 qt常见问题汇总

有两种方式:第一种,右键项目名称–添加库–外部库第二种,在**.pro文件中添加库的头文件和库的动态编译选项INCLUDEPATH += 头文件路径 // 头文件路径LIBS+=-L 库路径 -lcurses

2022-04-12 09:42:16 1552

原创 qt之css选择器

id选择器如果只想为某个单一的控件设置样式,则可以使用id选择器,“#”号后面跟上这个控件的ObjectName即可。

2022-04-05 15:42:03 2106

原创 QT中connect的几种简单用法

第一种:使用宏这种方法较为常见:connect(sender, SIGNAL(valueChanged(QString, QString)), receiver, SLOT(updateValue(QString)));即使用SIGNAL() 和 SLOT()将信号与槽进行声明;例子: QLabel *label = new QLabel; QScrollBar *scrollBar = new QScrollBar; QObject::connect(scrollBa

2022-03-16 17:19:57 12418

原创 Linux下free -m各参数说明

任何linux命令都可以用man +命令来查看具体说明。total 实际的物理内存大小used 用户程序使用的内存free 没有使用的内存shared memory used 程序共享内存buffer 内核使用的内存cache 内核页表使用缓存附free displays the total amount of free and used physical and swap mem‐ ory in the system, as well as the buffers a

2022-02-08 17:47:03 910

原创 shell编程之autogen.sh文件分析

扩展内容:【``】,学名叫“倒引号”, 如果被“倒引号”括起来, 表示里面需要执行的是命令。比如 dirname $0, 就表示需要执行 dirname $0 这个命令【""】 , 被双引号括起来的内容, 表示一个字符串,里面 出现 $ (美元号: 表示取变量名)【’‘】, 被单引号括起来的内容, 里面所有的都表示串, 包括上面所说的 三个特殊字符。关于2>&1的含义含义:将标准错误输出重定向到标准输出,0为标准输入,1为标准输出,2为标准出错。错误写法:2&g.

2021-12-29 14:41:45 444

原创 vim常见配置

set nocompatible "去掉有关vi一致性模式,避免以前版本的bug和局限 set nu! "显示行号filetype on "检测文件的类型 set history=1000 "记录历史的行数set background=dark "背景使用黑色syntax o

2021-12-25 13:48:55 274 1

原创 Ubuntu18.04安装RTL8821CU USB无线网卡

1、首先,将代码下载下来mkdir -p ~/buildcd ~/buildgit clone https://github.com/brektrou/rtl8821CU.git该套代码使用与linux内核版本Linux 4.4.x up to 5.x查看linux内核版本uame -aLinux 3.10.0-957.12.2.el7.x86_64 x86_643 - 内核版本.10 - 主修订版本.0-957 - 次要修订版本.12 - 补丁版本.2、构建并且安装cd ~/

2021-12-24 11:27:36 3051

原创 tftp传输文件时出现Retry count exceeded; starting again

先用开发板ping 电脑ip ,若成功,检查电脑防火墙,将电脑防火墙全部关闭重试。

2021-12-19 19:53:05 1723

原创 浅谈回调函数

什么是回调函数函数名作为另一个函数的形参。像这样的void add(int a,int b);func(add);回调函数有什么作用呢在接触一些嵌入式项目后,我觉得回调函数主要用于代码的封装,将内部数据处理部分不开放,提供两个函数接口,一个用于将自己的处理函数注册在内部库中,一个用于使用内部库的数据处理。这样只需2个接口即刻实现应用层编写。下面结合一个stm32的例子:int main(int argc, char *argv[]){ KeyInit();//初始化驱动层 Ke

2021-12-17 14:10:06 145

原创 GIT 备忘录

Remember that each file in your working directory can be in one of two states: tracked or untracked.git diff 比较工作区和暂存区(远端的)的不同

2021-12-13 14:48:27 286

原创 DLNA(媒体共享)、Airplay(IOS系统的镜像以及共享)、Miracast(屏幕镜像)

DLNA:DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟),由索尼、英特尔、微软等发起成立、旨在解决个人电脑,消费电器,移动设备在内的无线网络和有线网络的互联互通。如果是网络视频DLNA协议把视频链接(URL)发送,然后对接收端进行控制,所以即便关闭软件依然可以投屏,国内大部分视频软件用的是此技术。DLNA协议本身不支持镜像。AirPlay:隔空播放AirPlay是苹果开发的一种无线技术,可以通过WiFi将iOS 设备上的包括图片、音频、视频通过无线的方..

2021-12-10 18:21:22 6221

原创 ssh 生成密钥的命令

ssh-keygen -t rsa -C “any comment can be here”-t = The type of the key to generate密钥的类型:就是一些加密算法,如ED25519等-C = comment to identify the key用于识别这个密钥的注释:一般为自己的邮箱。

2021-12-10 17:58:11 1091

原创 QT 下编译lvgl

一、下载littlevGL源码https://github.com/littlevgl/lv_sim_eclipse_sdl二、下载SDL 动态库SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。SDL仅仅用于在

2021-12-10 17:57:09 577 1

原创 lv_task_handler()是什么,lvgl到底在while(1)中做了什么

注释中只写了这一句:Call it periodically to handle lv_tasks,周期性的处理lv_tasks,为了更好的理解程序,我们分析源码,基于lv7.11.uint32_t handler_start = lv_tick_get();//获取程序自运行以来的运行时间,暂时没有用到。...

2021-12-06 11:36:04 7029 2

原创 STM32模块移植总结

模块移植前首先找到该模块资料,根据资料主要看一下几个重点:1、首先是看模块引脚各功能,主要为后续与开发板接线做准备。2、再看通讯协议,通讯协议一般为uart、iic、spi。3、找到协议对应的时序图,看懂后基本的数据通讯就没问题了,一般先发送产品ID号看是否通讯成功,在根据厂家提高的示例代码中找到启动代码和各个命令代码,根据需要移植所需功能。在移植过程中英文数据手册是最重要的,包括查询命令功能,寄存器功能,产品性能等都可在数据手册中找到。,了解模块如何进行数据和功能的交互(RAM映射图、Da

2021-12-02 10:37:35 425

原创 lvgl之属性设置

设置方式lv_obj_add/clear_flag(obj, LV_OBJ_FLAG_HIDDEN );//设置一个按钮不可按下 lv_obj_t * btn2 = lv_btn_create(lv_scr_act()); lv_obj_align(btn2, LV_ALIGN_CENTER, 0, 40); lv_obj_clear_flag(btn2, LV_OBJ_FLAG_CLICKABLE);• LV_OBJ_FLAG_HIDDEN Make the o

2021-11-10 17:16:35 2836

转载 谈谈#define xxxx(x,y) x##y

#define czg(x,y) x##yczg(love,9728)=?12答案:love9728## 被称为连接符,用来将两个宏参数连接为一个宏参数。一般用来将连接函数名再看:#define czg(x) #@xczg(3)=?12答案:’3’#@其实就是给x加上单引号但是如果你的测试参数超过四个字符(czg(12345)),编译器就给报错!error C2015: 常量中的字符太多:error C2015: too many characters in c...

2021-11-10 16:53:38 205

windows服务资源包

windows服务资源包

2022-11-25

qt实现俄罗斯方块,功能有重新开始,暂停,结束等

qt实现俄罗斯方块,功能有重新开始,暂停,结束等

2022-04-13

stm32f4xx固件库.zip

stm32f4xx固件库

2021-08-10

疯狂STM32实战讲学录.pdf

最全完整版,自己从网上买的

2021-08-05

xmind模板.zip

Xmind模板,包含各个类型,让Xmind脑图编辑不再困难。

2021-07-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除