自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 QT 之 保存数据到txt、ini文件,超详细+可行代码+超多保存时的便捷写法。

那么问题来了,我们的界面在没有ini文件时,也就是没有加载ini默认界面为初始化状态的。第一个ini文本被加载时,改变了文本,2的槽功能被触发,保存的是默认初始化状态下的仅改变了第一个文本的界面状态,也就是说只有第一个文本会被加载其它的ini文本都会被覆盖。文本改变(textChanged)即触发一次保存(整体保存)。我想到了两个办法:首先明确问题是怎么来的,我们是。方法1.那么触发的整存,我们可以改成。这里贴出是我最后使用的代码,确认可行!方法2.边取边加载ini可以改成。

2024-08-12 13:30:00 1072

原创 QT之串口实时检测(热拔插)详细分析+可行代码

我想实现qt串口的实时检测(热拔插): Qt串口通信的时候(串口已打开且已经连接),这时usb(串口)意外被拔掉了,或者其他情况要怎样才能检测到,并给出提示呢。举例,在串口未插入时打开了串口软件,这是串口是没有可选择的com的,这是你依然点击了,打开串口,那么这个error会给你返回NotOpenError,回到最初我想做的是,在Qt串口通信的时候(串口已打开且已经连接),这时usb(串口)意外被拔掉了,则给出提示呢。如果上述代码中笼统的都认为是错误,都在槽函数中关闭了串口,那么显然是不合理的。

2024-08-12 13:30:00 939

原创 QT 之 emit 自定义信号

Qt 的信号与槽机制是一种用于对象间通信的核心特性,特别适用于 GUI 编程。信号与槽提供了一种松耦合的方式来响应事件。信号:信号是对象中用来表示某些事件的成员。当某个特定事件发生时,信号会被触发。槽:槽是一个普通的成员函数,用于处理信号。当信号被触发时,槽会被调用。连接:连接是将信号与槽关联起来的操作。自定义信号与槽通常用于需要在自定义类中发射信号并处理特定事件的情况。步骤定义一个包含信号与槽的类,并继承QObject。使用signals关键字定义信号。使用slots关键字定义槽。使用。

2024-08-08 10:10:03 334

原创 Qt 之 connect 信号和槽函数的连接、总结记录 二

使用SIGNAL和SLOT宏:适用于旧版本的 Qt,容易理解但缺乏类型安全性,容易出错。使用&类名::函数名:类型安全,适用于现代 Qt 版本,适合复杂项目和长期维护。使用 Lambda 表达式:灵活简洁,适合简短的处理逻辑,不需要在类中声明槽函数,但不易复用。选择哪种方法取决于具体的需求和项目的复杂性。对于简单的操作,Lambda 表达式非常方便;而对于大型项目,推荐使用类型安全的&类名::函数名方式。

2024-08-08 09:45:00 1134

原创 QT之串口设备信息显示与显示设备信息打不开串口的问题

串口的设备信息显示不全、显示设备信息打不开串口的问题

2024-08-07 10:53:03 175

原创 QT之常用控件的操作总结

关于设置背景颜色如label 一样comboBox、pushButton、textEdit、plainTextEdit、lineEdit_6都可以在ui界面--点击控件右侧属性中选择--styleSheet---来设置颜色。举例:background-color: rgb(255, 170, 0);

2024-08-07 10:10:53 318

原创 QT之ui控件随窗口布局的大小而自适应改变

鼠标拖动窗口边框,改变大小,对应控件也改变。这里控件的改变就是上文提到的sizePolicy策略,单个控件怎么改变,由自己设定,组合之间怎么改变则是上文中layout的设置。总结就是将用到的控件布局成一个整体,再通过栅格布局将其绑定到Widget上,其实这也很好理解,若是我们没有设置这些策略,没有栅格跟随Widget,在窗口改变时系统也没办法判定控件该怎么,自然也就默认不动了。

2024-08-01 15:25:54 1477

原创 MM32f0010下载NO cortex-M SW device Found问题和引脚复用和复用后恢复问题

我的电路是公司一直在用的电路,而且第一次下载成功,而且下载成功后程序是正常运行的,明显不是上面的问题。查看我们所使用的J-LINK仿真器供电电压为3.3V,我们设计的板子是5V的系统,那么会串电压,可能在第一次烧录后对芯片产生了伤害。后来我将出现问题的电路板换了一颗mm32f0010主控芯片又可以下载了...经过一阵折腾我发现了问题。可以看到这里没有找到可供下载的设备,可以在Port 在 JTAG 和 SW切换,其中Max速率往下调,可能会找到设备。下官方例程,排除芯片问题,芯片问题直接换一颗....

2024-08-01 14:11:18 440

原创 QT之初始代码理解

当然不必要的模块还是别引入,因为引入模块不仅仅是引入头文件搜索路径那么简单,还包括引入连接的库等一系列操作,会让程序变臃肿。# subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。#/* .pro就是工程文件(project),它是qmake自动生成的用于生产makefile的配置文件。# 在这里使用“+=”,是因为我们添加我们的配置选项到任何一个已经存在中。

2024-07-25 15:13:42 320

原创 QT之快捷键

选中后Ctrl + I 代码格式化对齐。Alt + 0 隐藏 与显示侧边栏(项目文件浏览)Ctrl + Shift + f 打开全局搜索框。Ctrl + k 打开定位器(locator)选中后按Shift+Tab键: 代码向左移。Ctrl + / 多行注释/取消多行注释。Shift + F2 声明和定义之间切换。Ctrl + f 打开当前页面搜索框。Ctrl + 鼠标滚轮 缩放代码。Shift + F5 停止调试。Ctrl + B 编译工程。Ctrl + R 运行工程。

2024-07-25 14:18:59 161

原创 QT之新建工程

这里检查将要完成的操作,以及可以设置为某个项目的子项目,一般默认即可,红色框体圈部分是系统将自动生成的文件名。

2024-07-25 13:42:54 1262

原创 QT之plainTextEdit文本换行问题

/*说一下它们的区别*/appendPlainText(),解释为:添加普通文本,但是文本编辑器中已经有文本的话,他会在添加的文本前面自动插入一个换行符,即新的文本总是从新的一行开始;appendPlainText(""),仅利用其本身的新文本自动换行,而不添加任何文本。appendPlainText("\r\n"),appendPlainText本身会换行,再添加换行则=双换行,即两行文字之间会有一行空白。insertPlainText();是在以当前光标的位置插入文本moveCur

2024-07-09 10:13:20 662

原创 QT之鼠标双击事件-定时器+计数简单解决

问题:在自己写一个简单的串口时,用到了一些lineEdit,每一个lineEdit配一个pushbutton用作发送按钮,那么现在想设置成单击pushbutton用作发送使用,双击则用作改变pushbutton的文本标签lable使用。总结利用qt ui界面的转到槽功能进行计数,每次点击就计数++,第一次点击就开启定时器,定时器结束则会清零所有计数。若只点击一次,计数到1(单击)则定时结束触发槽函数,可在此执行单击事件,定义标志位。若是定时器结束前再次点击,计数到2(双击),则执行双击事件;

2024-07-07 11:35:58 281

原创 Qt 之 connect 信号和槽函数的连接、总结记录、 一

QTimer::timeout是一个特定于QTimer的信号,而obo_send_msg是你自定义类中的槽函数。当使用第一种写法时,SIGNAL(timeout())期望的是一个从继承了QObject的类派生出来的对象发出的timeout信号。由于QTimer本身就具有这个信号,所以你应该直接引用它的信号名称加上括号表示方法,而不是用SLOT()。第二种写法connect(timSend, &QTimer::timeout, this, &Widget::obo_send_msg)则是正确的,因为它明确

2024-07-04 10:51:12 752

原创 快速上手0.91寸OLED

基于中景园代码分析+使用。环境:0.91寸OLED+STM32F1XX+模拟IIC。在使用OLED屏幕前给一个小延时是必要的。这里OLED_Init();展开可以看到已经延时了,延时后的OLED初始化是根据SSD1306的指令来写的...数组中存储的16进制代码即我们要显示的汉字。那么这些代码是怎么来的呢,在文章资源中找到取模软件pctolcd2002,模式(字符模式)按图上配置即可输出字模数组。下面说图形取模的两种方式:一、自己手绘:PCtoLCD2022-模式-图形模式;文件-新建-图片宽度(128)

2024-03-20 15:39:34 1800 1

原创 像素与分辨率的关系

像素是图像显示的最小单位,分辨率则是指屏幕上能够显示的像素数量。分辨率指的是屏幕上像素的总数,它由像素列和像素行的数量决定。以0.91寸德OLED举例。128*32是像素大小还是分辨率?有一个参数是128*32,那么。32表示屏幕的分辨率,即屏幕上。有128个像素列和32个像素行。因此,在这个例子中,128*

2024-03-20 15:36:10 155 1

原创 通用环形缓冲区(LwRB)和环形队列(Ring Buffer)的区别与联系

通用环形缓冲区(LwRB) 环形队列(Ring Buffer)

2024-03-12 13:18:37 729 1

原创 C预处理器cpp.-#ifndef #define#endif

不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。以井号(#)开头,它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。预处理器定义了一些预处理标识符,也就是预定义宏。这些预定义宏不能被取消定义(#undef)或由编程人员重新定义。开头和结尾的,如果宏名是由两个单词组成,那么中间以“_”表示CPP 只有当XX 未定义时,才定义 XX。并且,宏名称一般都由大写字符组成。

2024-03-04 15:25:53 388 1

原创 上拉/下拉电阻的强弱怎么记

强上拉:电阻阻值在1k-5.6k左右,电阻小,特点是流过的电流大,功耗大。弱上拉:电阻阻值在10k及以上,电阻大,特点是流过的电流小,功耗小。电阻大到一定程度(无穷大),相当于开路。

2023-10-11 16:51:55 161

原创 74HC595实战篇

确定特性阻抗:首先需要确定线束的特性阻抗。根据线束材料和几何形状等参数,计算出特性阻抗值.安装终端匹配电阻:根据特性阻抗值选择合适的终端匹配电阻并安装在信号线的终端,以确保信号质量(这个需要自己多做几次实验);

2023-08-08 17:20:26 1656 3

原创 74HC595理论篇

以 TI(德州仪器)SN74HC595DR为例,在立创找到它的规格书:关注点:•的宽工作电压范围• 低功耗:80μA(最大值)ICC • tpd = 13ns(典型值)• 电压为 5V 时,输出驱动为• 低输入电流:1μA(最大值)• 移位寄存器具有直接清零功能。

2023-08-08 15:35:01 1161 1

原创 学习新唐NUC029xAN——printf 重定向

新唐NUC029xAN之printf 重定向

2022-12-05 09:10:46 389 1

-0.91寸/0.96寸OLED模块 4P(iic)demo+资料

C51+stm32常用芯片DEMO程序 091/0.96寸OLED模块原理图 硬件资料

2024-03-19

ESP8266AT指令

三分钟小白入门WIFI(ESP8266入门连接+核心AT指令集)

2024-03-13

空空如也

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

TA关注的人

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