自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Poseidon's Maserati

Today is my lucky day.

  • 博客(244)
  • 资源 (4)
  • 收藏
  • 关注

原创 嵌入式笔试

遇到的题目汇总

2024-04-16 14:22:35 820

原创 Qt 使用qm文件

多个子项目,分别翻译生成的qm文件,如何一键加载?

2024-04-15 16:28:49 266

原创 imx.7交叉编译libX11

该文章已经很详细的讲到了移植全过程,实践下来并没有太多问题,并且他文中提到的问题一定会出现,没有提到的也会出现,大致是因为自己虚拟机环境,以及版本问题,只需要根据第一条报错逐条进行修复即可。原因是libxcb的版本太新,我使用最新的版本,正确配置和安装后,在编译libX11还是会报错,解决办法:替换为较为早期的版本,比如libxcb-1.16,只要低于libproto版本即可。libX11报错中断编译后,解决完问题,make clean,重新配置编译。以下是我个人的环境变量设置,仅供参考。

2024-04-15 14:20:20 442

原创 Linux-Arm GDB调试(本地和远程)

Linux本机调试使用GDB非常方便,但嵌入式Linux设备资源有限,通常并没有交叉编译工具,那嵌入式设备上的应用发生问题如何查找问题?通常IDE有远程DEBUG功能,这种能快速定位固定且容易复现的错误。随机性问题,问题一旦发生,保存现场十分重要,不知道何时才会复现,要基于当前的设备状态,尽可能的去追溯本次的问题,这样才能有效的解决问题。个别情况下,并没有发生crash,但是程序卡死或者无响应,这个时候并不会生成coredump文件,那么就需要进行远程在线调试。最终定位到问题所在。

2024-04-03 14:54:58 630

原创 Qt QMetaObject::invokeMethod

QMetaObject::invokeMethod是一个静态函数,用于在Qt信号槽机制之外,异步调用QObject子类的公开槽函数或者调用任意可调用对象。主要处理不同线程异步调用或延时操作。

2024-03-13 11:32:37 701

原创 Qt 根据背景颜色设置字体颜色

Qt绘制好背景后,文字颜色不对会看不清楚。所以需要根据当前的背景颜色选择合适的文字颜色。

2024-02-22 14:57:05 414

原创 2023回顾

踩了这些坑之后,再次做项目时,如果使用到触摸屏,我可能会在资源够用的情况下,单独给触摸屏一路i2c总线去使用,其余的i2c外设走另外的总线,这样能避免脏数据、或者某个从设备死锁不释放总线时造成的数据传输错乱,进而影响全局的触摸屏的使用。再次使用Qt时会特别注意焦点切换的问题,界面切换了焦点没有带过去的话,在多个模态窗口的焦点切换就会滞后,或者承载焦点的页面已销毁,那么就会导致焦点错乱,现象看起来也是界面卡死。一文中,正如文中提到的,上述的一些操作能极大可能得避免触摸屏卡死的发生,但也并非一劳永逸。

2024-01-09 12:04:39 471

原创 imx7开机自动执行任务(点灯)

设置已正确配置设备树,能在用户空间控制GPIO。

2024-01-09 10:33:24 378

原创 Qt QMetaObject::invokeMethod

invokeMethod 是Qt元对象系统中的一个函数,用于程序运行时动态的调用对象的槽函数或者静态函数。

2023-10-24 18:46:33 556

原创 Qt 条件等待

任务线程需要等待一定的条件再继续执行。

2023-10-20 14:14:37 522

原创 Qt raise()问题

需要将一个弹窗提升至最前面,那么弹出时直接使用raise()即可。

2023-09-25 16:35:33 660

原创 Qt 消息小弹窗

Qt官方并没有提供这么一个类,一些开源组件中是有的,但是可能存在一些不兼容的情况,比如消息的设定方面,或者使用时会遇到一些莫名其妙的bug,那就自己写一个简单的,日后需要美化或复杂功能时再完善。使用的话,在需要的地方直接showMessage(“XXX”)就可以了。不使用designer,直接代码即可。

2023-09-18 10:26:28 692

原创 Qt 动态中英文切换

需要界面实现动态国际化,一键点击切换中英文或其他语言。

2023-08-29 11:21:57 859

原创 Qt Q_INIT_RESOURCE

原因:.qrc文件是在编译时整合到可执行文件或者库里的,由于C++的静态初始化顺序的限制,资源初始化函数(即Q_INIT_RESOURCE)可能在应用程序的其他静态对象初始化之后运行。如果不手动调用Q_INIT_RESOURCE,这些静态对象可能会尝试访问资源,但由于资源尚未初始化,可能导致程序失败或崩溃。使用.qrc文件时,比如加载图标音频等,直接用好像也没问题,那标准的写法是在应用层初始化阶段进行资源文件的初始化,这是什么原因?

2023-08-25 18:59:26 367

原创 Qt 信号槽连接方式

Qt中信号槽是核心功能,但是一定要正确使用,并且要摒弃文章靠头示例中的老式写法,使用新式写法进行使用,这样在编译阶段就会进行检查,避免调试困难。

2023-08-23 18:03:25 947

原创 Qt 多线程开启定时任务

多线程执行一些耗时操作,并且需要固定时间去轮询。

2023-08-21 18:15:45 478 3

原创 Qt 显示git版本信息

项目需要在APP中显示当前的版本号,考虑到git共同开发,显示git版本,查找bug或恢复设置更为便捷。

2023-08-16 11:04:57 371

原创 Qt 串口使用

其中,/dev/ttyACM0"是虚拟串口设备,真实串口更改对应的端口号及设置。Qt串口所属文件“qextserilport.h”

2023-08-15 11:30:13 133

原创 Qt 屏幕偶发性失灵

基于NXP i.mx7的Qt应用层项目开发,通过goodix使用触摸屏,走i2c协议。

2023-08-15 10:09:04 1351

原创 linux i2c-mux 使用

linux中如何使用i2c-mux

2023-05-08 15:36:47 434 1

原创 Qt 耗时任务界面阻塞

背景:主界面免不了进行一些耗时操作,如果界面和是数据处理本身就处于同一个线程,那么使用QCoreApplication::processEvents()是无效的。如果不需要返回值,那么扔进线程池运行就好,使用QObject::moveToThread()。但是需要返回值的时候就会有问题。解决办法:使用QEventLoop和QtConcurrent:run()。

2022-10-19 18:08:31 1509

原创 Qt控件设置多个快捷键

通过setShortcut()设置多个快捷键时,只有最后一个设置会生效。

2022-07-05 16:49:22 2014

原创 qtCreator 项目栏不显示git信息

问题:Ubuntu升级后,发现再打开qt,项目栏没办法显示git的分支信息。但是用命令行使用git还一切正常,并没有什么错误。原因:git也同时更新了版本,修复了之前的问题,使用命令添加该文件夹即可。或者干脆添加所有文件为安全的:注意:一定要使用该文件所属的管理员去添加才有效,A工程所属root,必须使用root账户添加,使用当前账号添加无效。...

2022-06-10 18:44:04 476

原创 Virtual-box虚拟机拖拽失效

Virtual-box拖放失效及不能自适应屏幕。升级后同时出现的问题:虚拟机不能自适应调整显示大小,若出现此状况,弹出原来加载的VBoxGuestAdditions.iso,虚拟机菜单点安装增强型工具即可。

2022-06-08 17:01:55 10727 2

原创 最大子列和O(N)

int MaxSubSeqSum(int a[], int n){ int ThisSum = 0, MaxSum = 0; for(int i=0; i<n; i++){ ThisSum += a[i]; if(ThisSum > MaxSum) MaxSum = ThisSum; else if(ThisSum < 0) ThisSum = 0; } ret.

2022-05-01 14:25:02 260

原创 计算函数耗时

简单计算某个函数在当前设备的运行耗时。clock():捕捉从程序开始运行到clock()被调用时所耗费的时间。时间单位是clock tick(时钟点)。CLK_TCK:本机机器时钟每秒所走的时钟打点数。duration:以秒为单位的计算结果。#include<QTime> //c <time.h>clock_t begin,end;double duration;begin = clock();function();end = clock();dura

2022-04-30 16:19:48 559

原创 Qt 使用Svg图标

SVG全称Scalable Vector Graphics,即可缩放矢量图。优点:基于XML。 采用文本来描述对象。 具有交互性和动态性。 完全支持DOM。 文件小。 任意缩放不破坏图像的清晰度。 图像中的文字独立于图像,没有字体限制。目标:使用QSvg、QSvgRender等显示一张SVG图像,并进行缩放验证其清晰度。代码主体结构:main.cpp创建SVGTest 。 SVGtest.cpp构造函数设置标题、创建菜单、创建svgWindow、设置svgWindow为主

2022-04-14 20:46:46 1628

原创 Qt 程序启动动画

背景:Qt应用处理任务复杂,开机后要等待很久黑屏才能走到界面循环,为了去除黑屏的状态,这段时间嵌入一张图片过渡。Qt官方倡导使用QSplashScreen类,用法如下:Main函数启动界面动画的后面(QApplication a(argc,argv);之后)嵌入以下代码:QPixmap pix(":/test/test.png");QSplashScreen spl(pix);spl.show();a.processEvents();主窗体创建后关闭这个图片显示:MainW

2022-04-08 18:05:19 1144

原创 Qt QLayout

Qt提供了水平排列QHBoxLayout类、垂直排列QVBoxLayout类、网格排列QGridLayout类以及多页面排列QStackedLayout类。他们之间的关系如图:addWidget():用于需要加入布局的控件,参数如下QWidhet *widget:需要插入的控件 int fromRow:插入的行 int fromColumn:插入的列 int rowSpan:占用的行数 int columnSpan:占用的列数 Qt::Alignment alignment=0:描述各

2022-04-07 21:53:45 836

原创 Qt QString使用

QString常用方法

2022-04-06 20:09:43 1397

原创 Qt程序Linux异常退出时查找问题

背景:Qt程序偶发性crash,偶发性原因不好查找,可以配合GDB查看coredump文件进行调试,找出发生异常的地方,但是Qt自带库有时无法查找。程序运行前的准备,设置几个步骤,在程序crash时生成对应的coredump文件:shell中执行“echo 0 > /proc/sys/kernel/core_uses_pid”,用以控制生成的coredump文件名后缀格式,echo 1表示添加pid作为后缀,echo 0表示不添加pid作为后缀,保持coredump文件名。 shell中执行

2022-03-30 14:42:27 2511

原创 测试正则表达式的小方法

问题:写了正则表达式,想要临时测试下效果怎么?打开Google浏览器,按下F12。 点击选择框的Console按钮。 输入正则表达式并回车,其中****代表自己制定的表达式内容。 var reg = /****/; 输入待分割数据并回车,其中####代表自己的测试内容。 reg.exec('####'); 检查输出结果。 ...

2022-01-26 17:06:32 1036

原创 Data Matrix of Zint

Zint是一个开源生成二维码的封装库,常见的二维码和条形码都可以生成。zint.h/* zint.h - definitions for libzint libzint - the open source barcode library Copyright (C) 2009-2020 Robin Stuart <[email protected]> Redistribution and use in source and binary forms,

2022-01-04 12:00:41 546 3

原创 sudo apt install ttf-mscorefonts-installe error

背景:想要安装arial字体。操作:sudo apt install ttf-mscorefonts-installe报错:E: Unable to locate package ttf-mscorefonts-installe更新源再试:sudo apt-get update后再次sudo apt install ttf-mscorefonts-installe,仍然失败。安装aptitude:sudo apt-get install aptitude安装后再试:sudo aptitu

2021-11-26 11:33:19 448

原创 Git submodule update报错

问题:使用 git submodule update时报错:fatal: Needed a single revisionUnable to find current revision in submodule path 'test'原因:git配置错误,或者之前单独进子模块目录下载了代码,但是关联失败。解决办法:rm -rf test/ 然后回到主模块根目录,再次使用指令:...

2021-10-14 14:01:41 5102

原创 Qt 自定义类型信号槽

背景:信号槽传递自定义类型数据时报错。QObject::connect: Cannot queue arguments of type 'Test' (Make sure 'Test' is registed using qRegisterMetaType().)原因:项目编译时,signal函数是和参数一起放到队列去构造的,此应用多半又是跨线程,接收方slot不知道传递的参数类型,也就没办法构造。如果传递的参数是指针地址则没问题,但是使用上不方便,发送完不能立即释放,增大内存管理难度。办法:头文件

2021-09-25 21:02:59 147

原创 C __attribute__

背景:头文件中经常会看到#define xxx__attribute__xxx,__attribute__的作用是什么呢?__attribute__:用来设置属性的,包括函数、变量和类型。格式:__attribute__((attribute-list)),例:__attribute__ ((aligned (4))) 、__attrubte__ ((packed))常见参数:aligned:用来手动设置字节对齐。 #define ALIGN_4 __attribute((aligne

2021-09-23 16:31:06 239

原创 C STRUCT_OFFSET

offset(m):获取结构体S_TEST中成员m相对于首个成员的偏移量。#define offset(m) ((uint32_t)&(((struct S_TEST *)0)->m))sizeof(m):获取结构体S_TEST中成员m的大小。#define sizeof(m) sizeof(((struct S_TEST*)(0))->m)#define offset(m) ((uint32_t)&(((struct S_TEST *)0)->m))

2021-09-23 16:30:41 274

原创 Qt 图片缩放、移动、旋转

背景:待输出图片需要在APP中做二次编辑,放大旋转等。办法:使用QMatrix类,该类提供了二维转换功能。缩放:QMatrix martix;martix.scale(2,2);//放大2倍matrix.scale(0.5,0.5);//缩小2倍image = image.transformed(matrix);旋转:QMatrix martix;martix.rotate(90);image = image.transformed(matrix);镜像:im

2021-09-18 10:35:34 865

原创 Qt 设置启动画面

背景:PC端主界面加载时间较长,使用加载画面过度加载过程。办法:在mian中添加一个启动动画。main.cpp#include <QApplication>#include <QPixmap>#include <QSplashScreen>int main(int argc, char *argv[]){ QApplication a(argc, argv); QPixmap pixmap(":/img/myImage/dddd.p

2021-09-16 16:41:16 395

imx.7交叉编译libX11

包含libX11交叉编译所用到的所有库的源文件压缩包,直接交叉编译即可

2024-04-15

125khz读卡器.zip

包括电路设计及.c程序,只需要根据自己板子更改响应的IO口即可。

2021-10-08

cycleTest.zip

QWidget直接提示即可,可转动,设置当前选中编号,设置禁用为灰色,启用为对应彩色。不限平台。

2021-08-05

jsonTool.zip

json文件合并,可以将两个json文件比较后合并为一个,也可将已知json文件内的某一项单独替换。Zip包含可执行文件及源码,可执行文件可以在64位Ubuntu上直接运行,也可根据自己编译器编译出对应版本。

2021-07-21

QtNetLinkMonitor.zip

此代码用于Qt桌面应用监控Linux网口的连接状态,包括以太网、PAN网络等。拿来即用,用法参见README。

2021-07-21

空空如也

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

TA关注的人

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