- 博客(57)
- 资源 (1)
- 收藏
- 关注
原创 painter.save和painter.restore函数失效解决办法
painter.save和painter.restore函数失效解决办法,日常写代码总结经验。
2023-06-15 15:00:15 312
原创 QT5主界面“关闭窗口”按钮设置弹出提示询问信息—重写窗口关闭事件closeEvent关闭子线程
QT5主界面“关闭窗口”按钮设置弹出提示询问信息,重写窗口关闭事件closeEvent关闭子线程,回收子线程资源。
2023-02-09 15:43:28 2434
原创 Qt环境生成dump文件解决程序异常崩溃以及生成日志文件
Qt环境生成dump文件解决程序异常崩溃以及生成日志文件,利用VS2017调试生成的.dmp文件,以及调试和测试代码的方法。
2023-01-16 10:48:52 3893
原创 野火内核4.19.35版本新编译出来的新设备树文件替换旧的设备树
设备树加载方法替换设备树有下面几种方法。第一种,简单直接,设备树是在编译到内核中的,所以重新烧写内核这种方式肯定可行。但是烧写内核比较麻烦,可以参考制作系统镜像系列章节。不推荐也不做过多的讲解。第二种,将我们编译好的设备树或者设备树插件替换掉开发板里面原有的。我们只介绍第二种,将编译好的新设备树文件,替换开发板 /usr/lib/linux-image-4.19.35-imx6/ 目录下的旧设备树文件即可。1、note:由于ubantu和开发板的Linux内核版本都是4.19.35,所以编译设备树
2022-04-26 18:22:59 1950 2
原创 野火内核4.19.35版本找不到imx6ull-seeed-npi.dts设备树文件
由于开发板和ubantu用的内核文件版本都是4.19.35的,在此路径下没有找到imx6ull-seeed-npi.dts。路径:ebf-buster-linux/arch/arm/boot/dts/imx6ull-seeed-npi.dts内核4.19.35版本,就用 /imx6ull-mmc-npi.dts,ctrl+p搜索下该文件,就找到了设备树文件。路径:ebf-buster-linux/arch/arm/boot/dts/imx6ull-mmc-npi.dts...
2022-04-26 11:01:11 2032
原创 ubantu和野火开发板内核源码版本不一致出现invalid module format问题
(1)mobaxterm进行内核加载实验出现invalid module format问题,开发板系统的内核是4.19.35版本的,ubantu上vscode下载的内核源码是4.19.71版本的。(2)后面把vscode上下载的Linux内核源码的版本换成4.19.35版本重新下载,按照野火的教程重新编译内核模块,把生成的内核模块拷贝的nfs共享目录即可,具体操作见野火Linux视频教程第90讲。...
2022-04-12 16:37:50 1323
原创 函数指针、指针函数、指针数组和数组指针区别
首先知道一点不管是指针函数,还是函数指针,我们只需要关注最后面了两个字,然后知道其中的用法就行。一、 函数指针是指向函数的指针变量,因此本身就是指针。定义:指针变量可指向整型变量、字符型、数组一样,这里是指向函数。C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。格式:函数指针的声明方法为:返回值类型 ( * 指针变量名) ([形参列表]);linux驱动 file_operations 中int (*open) (struct inode *, struct file
2022-04-12 16:17:10 2494
原创 Qt opengl 图片实现3D效果
首先清楚OpenGL中的常用几个函数作用:(1)initializeGL() 初始化OpenGL函数(2)resizeGL(int w, int h)调整窗口大小函数(3)paintGL()绘制图像函数1、paintGL()函数作调整先定义模型、观察、投影3个矩阵。 //1、定义的4*4的矩阵 模型 观察 投影矩阵 QMatrix4x4 model; QMatrix4x4 view; QMatrix4x4 projection; /*----------按照
2022-03-26 22:05:07 4303
原创 Qt opengl 实现图片的旋转
一、首先明白这几个函数作用:initializeGL():设置OpenGL资源和状态。只在第一次调用resizeGL()或paintGL()前被调用一次。resizeGL():设置OpenGL的视口,投影等。每次部件改变大小都会调用该函数。paintGL():渲染OpenGL场景。每当部件需要更新时会调用该函数。updateGL()功能是触发paintGL()。二、线性代数知识对顶点着色器上的坐标进行做变换的时,左边乘一个矩阵进行坐标变换。#version 330 corelayout(
2022-03-25 21:37:09 1607
原创 Qt opengl更多属性:把颜色数据加进顶点数据中
(1)顶点数据:位置+颜色左半部分是位置数据 右半部分是颜色数据float vertices[] = { // 位置positions // 颜色colors 0.5f, 0.5f, 0.0f, 1.0f, 0.0f, 0.0f, // top right 红色 0.5f, -0.5f, 0.0f, 0.0f, 1.0f, 0.0f, // bottom right 绿色
2022-03-16 20:34:29 702
原创 Qt 编译的文件路径不能有中文,否则构建失败
E:\AllCode\QMLLearning\1_QML课件和源代码\Qt高级系列之6:QML常用控件自定义组件课件与代码此路径有中文,构建编译失败,放到没有中文的路径下就行
2022-03-13 22:07:32 3123
原创 QSS常用语法小结
(1)样式表单由一系列规则组成,每条规则可以分成两个部分:选择器和声明,比如QLabel {font: 14pt “Microsoft YaHei”;color: #4fa08b;} ,选择器件表示可以作用在QLabel控件上,声明部分详细说明了是字体大小为14号,样式为微软雅黑,颜色设置为灰色;(2)Qt的样式表语法不区分大小写,所以color,Color,coLor,coloR都表示同样的颜色属性。但是指代类的类名的时候,是区分大小写的;(3)多个选择器可以并列使用,它们之间用逗号隔开,例如:QPu
2021-12-27 14:35:18 304
原创 Modbus-RTU写入 06命令详细说明(数据都为16进制数)(修改从站地址)
1、修改举例如01地址改为09地址:发送 01 06 00 0F 00 09 79 CF返回 01 06 00 0F 00 09 79 CF则将原地址01修改成09成功,修改地址可线下或线上修改,完成后无需重新上电即可直接工作。79 CF是校验码要在软件上校验出来。2、485信号传感器和电脑已经连接好信号线,传感器独立供电。3、具体操作(1)打开SinloCRC校验小工具F9 C8 是输入06功能码报文后确认后的校验码。(2)串口调试助手串口参数设置和传感器一样,打开串口,06功能码复
2021-12-08 11:31:24 13075 2
原创 Qt 数据库主键没有指定出现同一时刻插入多条相同数据情况
此次项目中使用sqlite数据库,如上图同一时刻出现插入多条相同数据情况,分析了一下代码可能是主键没有指定,如下图所示。修改完代码之后,把当前时间作为主键后就没有出现该现象。此时数据能够按照时间间隔1秒正常插入数据。补充:主键作用1.每个表只能有一个主键2.主键不能为NULL,不允许重复,必须唯一标识一条记录主键的取值不能为空值,所谓空值NULL就是未知或者无意义的值。如果主键为空值,那么就说明存在某个不可标识的实体,即存在不可区分的实体,这与现实世界中的实体可区分是矛盾的。...
2021-12-03 16:11:31 909
原创 Qt modbusRTU04功能码 读输入寄存器的值并显示
由于自己所购买的传感器读取需要的数据是modbusRTU04功能码形式(读取输入寄存器的值),晚上找了好多资料关于modbusRTU04功能码的代码几乎没有,也困扰了自己很久,所以在此补充一份,同时也感谢胡工对我的帮助,顺利读取到寄存器数据,下面的代码希望对大家有帮助。/*-----------modbus 04功能码------------*/void MainWindow::on_m04Btn_clicked(){ if(master==nullptr)return;//主站为空 退出
2021-11-16 11:26:03 1176
原创 QT qcustomplot x坐标轴获取当前时间或时间以一定角度显示
1、获取当前时间void MainWindow::dataupdate(){ //声明时间获取变量,实际情况中,获取的是当前时间的总秒数 double nowtime = QTime::currentTime().minute()*60+QTime::currentTime().second(); //设置x轴名称 ui->complot->xAxis->setLabel("时间"); //设置x轴范围,实际情况设置的是5秒之内的数据 ui->complot->
2021-11-13 16:36:32 2165
原创 qt.modbus: (RTU client) Discarding response with wrong CRC, received: 16448 , calculated CRC: 49303
qt.modbus: (RTU client) Discarding response with wrong CRC, received: 16448 , calculated CRC: 49303检查主和从机的串口配置是不是一样,不一样会出现这样的问题。下图是我检查完Qt modbus协议中的串口配置后可以读取到数了...
2021-11-10 16:54:38 1016
原创 modbus协议 word = (high << 8) | low 作用
modbus协议 报文中高位和低未数据或在一起变成16位整形数举个例子:high = 0000000011111111low = 0000000011111111(high << 8 ) = 1111111100000000word = (high << 8) | low --> 1111111111111111QByteArray arr=response.data();//3、第一个字节表示后面的数据长度int len=arr[0];for (int i=0
2021-11-10 14:58:06 641
原创 C语言static声明有什么用途?使用全局变量的优点和副作用是什么?
static声明有什么用途 (请至少说明两种)?static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?1.限制变量的作用域;设置变量的存储域;2.全局变量的说明之前再加以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而
2021-10-22 21:38:30 1481
原创 stm32新建工程时头文件中,使用#ifndef #define #endif条件编译,添加硬件驱动源文件
(1)头文件(LED.h文件中)中,使用#ifndef #define #endif条件编译#ifndef __LED_H //避免头文件内容重复调用 取什么名字没关系#define __LED_H //如果没有定义__LED_H标识符 没有的话就定义一个__LED_H标识符void LED_Init(void);#endif (2)LED.c 源文件中需要引用#include“led.h”void LED_Init(void){}//此处要有回车结尾(3)stm32f4
2021-10-20 21:53:28 589
原创 ubantu下VSCode左边目录所有文件无法打开
1、利用chmod修改权限:对Document/目录下的所有子文件与子目录执行相同的权限变更:chmod -R 777 Document/-R参数是递归 处理目录下的所有文件以及子文件夹777 权限为可读可写可执行Document/ 是需要执行的目录...
2021-09-29 15:45:43 216
原创 Qt 常用的数据库语句(使用数据库用到)
-- 创建一个名称为info的数据库。create database info;-- 删除数据库info-- drop database info;-- 使用数据库 infouse info;-- 创建表-- create table student(id int primary key auto_increment, name varchar(255), age int, score int);create table student(id int primary key, name
2021-09-15 16:52:35 388
原创 QTabWidget用代码或UI设计界面动态添加空的标签Tab
private: Ui::Serial *ui; //控件 QTableView *dataPage=new QTableView();//增加所需要的控件//增加界面void Serial::addTab(){ //auto empty = new QWidget(); ui->tabWidget->addTab(dataPage, "数据显示");}addTab()放的位置显示效果:...
2021-09-15 11:37:20 1871 3
原创 VSPD虚拟串口使用教程
1、打开VSPD虚拟串口工具,添加端口COM1,COM22、我在此处用的是COMHelper串口调试助手 、VSPD虚拟串口工具 、自己编写的串口工具
2021-09-12 11:38:45 11007
原创 Qt在windows环境下发布release版本程序
1、编译成功release版本2、复制改目录 E:\AllCode\testCode\TestCode\gasMonitorTest1\build-gasMonitorTest1-Desktop_Qt_5_14_2_MinGW_32_bit-Release\release 的gasMonitor.exe文件到一个文件夹下C:\Users\WHO\Desktop\text 存放.exe文件的位置3、打开Qt控制台 MinGW 7.3.0 32-bit4、C:\Users\WHO\Desktop\t
2021-09-11 11:47:06 543
ccrashstack类
2023-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人