自定义博客皮肤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.

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

原创 Qt容器类

Qt中容器大体分为两大类:线性和关联。线性容器:QList:数据都是顺序存储的,最常用的是QList,本质是一个数组,但是可以快速的进行头插和尾插。可以进行索引访问,append()/prepend()两端添加,insert()中间插入,数据小于1000时推荐。 QLinkedList:使用迭代器索引、向中间插入一个很大的数据时使用QLinkedList。 QVector:...

2019-10-31 19:52:46 138

原创 Qt安全使用线程

使用背景:项目中需要开线程去播放声音、视频,简单的线程可以实现,Qt中简单的线程就是继承QThread类,然后重新run()方法即可,但是new出来的对象要时刻记得释放,不然就会有崩溃问题。于是想办法使用更为安全的线程,让系统替自己去管理new的对象,就是使用QRunnable类结合线程池实现。 初始方法:.hclass PlayThread : publi...

2019-10-31 18:52:15 149

原创 Qt顶层窗口为什么创建在栈不是堆?

Qt的程序主程序都都会这么一段代码:int main(int argc, char *argv[]){ QApplication a(argc, argv); DialogLocal w; w.show(); return a.exec();} 不管这个w实例是dialog或者Widgrt,都会在堆上创建,而不是new出来,这是为啥?...

2019-10-31 18:51:55 432 1

原创 Qt信号和槽自动关联

想要使得信号和槽自动关联,省去自己写connect函数需要以下这么做:规定的格式写槽函数,函数名格式:字符串on、部件的objectName和信号名称3部分。中间用下划线隔开,例如pushButton的按下槽:on_pushButton_clicked()。 使用这个槽且定义槽的类(包含相关的头文件,如<QPushButton>),构造函数中添加Mainwindow...

2019-10-31 18:51:09 745

原创 Qt槽收不到信号?

使用背景:刚接触Qt,一定会遇到信号和槽都写完了,也连接好了,编译没有报错,但是就是无法收到信号。原因在于使用了旧的connect写法时,不会进行编译检查,也就是说connect()函数一定不对。这里推荐使用Qt5,Qt5中的信号和槽相对于之前版本有了很大的变化,目的在于更好用,更安全。Qt4的版本看起来简单,实际使用中会遇到各种无法解释的问题,问题在于老版本并不进行安全检查,会让你...

2019-10-31 13:01:56 4782 2

原创 Qt事件

Qt中的事件和信号的作用都是为了使程序知道程序内部或外部的事情或者动作发生。任何QOBject子类实例都可以接收和处理事件。原理就是放入了消息循环,有事件发生就调用相关的处理函数。更全面的事件,在Qt帮助文档搜索The Event System。 常用的事件有鼠标、键盘、定时器等,下面代码实现了常用事件的使用,基本用法都是一样。 Qt还提供了事件过滤器...

2019-10-30 21:41:37 160

原创 Qt中parent的作用

Qt中类,如果继承的话,构造函数都会有一个parent参数,例如:MainPanel::MainPanel(QWidget *parent) : QWidget(parent), ui(new Ui::MainPanel){ }或者:class FileSystemWatcher : public QObject{ Q_OBJECTpriva...

2019-10-29 21:44:00 4205 1

原创 Qt定时查看文件(内容)状态

使用背景:想要在Qt中使用rpc,客户端会有新的不定时文件添加,设备需要随时的接收新文件中的数据,进行实时处理。最初根据这个需求想到的方案是,通过使用QDir的方法,结合QTimer定时器,不停轮询目标文件,实现对改变文件的监控。感觉实现起来也比较简单,但是做好比较难且花费时间。需要关注的是QDir类和相关方法,以下是嵌入main中的测试代码: QDir myDi...

2019-10-29 21:34:32 1001

原创 Qt自动关闭对话框

背景:想要在按键中断触发时,弹出一个模态对话框显示一些信息,若干秒后自动释放。在中断处理函数中进行对话框的创建:void Mainpanel::InterruptHandler(){ test *dialog = new Dialog(this); QTimer::singleShot(3000, this, &MainPanel::DialogClosed);...

2019-10-24 18:56:18 2296 1

原创 Qt读写配置文件(.ini)

使用场景: Qt编写的界面应用程序可以直接操作arm板,完成对wifi、蓝牙、屏幕、声音等的配置,但是每次开机(重启)后,界面会回到系统默认的配置,例如上次关机前调整声音为最大,下次开机时声音实际已经很大了,但是界面上显示是默认的状态(可能静音或别的值,如果没有单独设置过,一定不是100)。相应的解决方法有两种:一,在构造函数中重新获取一次声音的时间大小,然后去设置显示的图标的值,...

2019-10-14 18:45:30 406

转载 linux系统管理systemd

声明:本文非原创,部分自己理解上修改,查看原创请移步http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html。目录systemd是什么:systemd的资源UnitUnit 的状态Unit 管理Unit 依赖Unit配置文件Unit配置文件的状态Unit配置文件的格式配置文件...

2019-10-10 17:30:33 389

原创 linux开发板安装软件

使用命令opkg,软件来源是本地仓库或者物联网上仓库,例如:opkg install pstree用法:opkg must have one sub-command argumentusage: opkg [options...] sub-command [arguments...]where sub-command is one of:Package Manipulation:...

2019-10-10 15:11:27 798

原创 Qt中开启一次性任务

QTimer中封装有一个方法是若干时间之后执行一次,如下例子所示: QTimer::singleShot(3000, [](){ //要执行任务 qDebug("event"); });首先要包含#include<QTimer>头文件,然后调用方法singleShot,意思是3秒后执行b包内的内容一次。...

2019-10-10 15:05:29 733

原创 Qt中静态方法发送信号

背景:线程中开启了定时器,轮询传感器状态,传感器状态的获取是使用的静态方法,想要达到的效果是,一旦传感器满足阈值,就发送特定信号,界面类接收到这个信号后,实时显示弹窗(警告或提醒)。尝试过各种方法都不能奏效,最后验证此方法可行,connect函数写在ui的构造函数中,所以在此之前要完成信号的发射。首先,定义自己使用的定时器线程。#ifndef MY_THREAD_H#define MY...

2019-10-10 14:47:35 4490 1

Qt基本串口的完全实现

Qt应用层的串口基本程序,搭配blog中的简介方法,放入程序中即可使用。

2024-05-08

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关注的人

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