QT类
文章平均质量分 71
13jjyao
这个作者很懒,什么都没留下…
展开
-
Linux下QT开发的动态库界面弹出操作(SDL2)
使用SDL2来完成linux下QT的界面弹出操作原创 2022-09-27 16:32:59 · 1462 阅读 · 0 评论 -
在未安装QT的linux/arm架构上运行QT程序
总问题:已经在A系统(arm架构,已安装QT5)编译好的QT程序,现在到B系统(arm架构,未安装QT)运行,各种报错报错1:各种缺QT依赖库解决思路:使用ldd命令,一个个找缺的库,从A系统拷贝过来,放到/usr/lib(或者/usr/lib/aarch64-linux-gnu)目录下报错2:This application failed to start because it could not find or load the Qt platform plugin "xcb".原创 2022-04-26 17:57:27 · 2341 阅读 · 1 评论 -
在Linux下基于QT实现ffmpeg视频流播放
1. 项目背景下位机里安装里摄像头,并处理摄像头的实时数据。上位机通过rstp协议连接下位机,接收下位机传输的视频流数据。2. 前言ffmpeg是一个开源库,可制作跨平台视频播放器。ffmpeg库的安装:《Linu下安装ffmpeg》涉及的库有如下几个:avcodec avformat swscale avutil avcodec-ffmpeg swresample3. 实现思路ffmpeg视频流播放,比较占用系统资源,所以要使用多线程技术处理耗时操作。...原创 2021-06-22 15:52:21 · 3083 阅读 · 3 评论 -
qt/qtcreator在Arm架构下的安装
1. 下载qtcreatorqtcreator下载地址:https://download.qt.io/archive/qtcreator/因为我机器是linux arm架构,所以要选择tar.gz直接编译(纯linux可以选择.run的文件,直接chmod给权限,然后运行)。我这里选择的是2.8.1版本,qt-creator-2.8.1-src.tar.gz2. 解压(你自己指定解压路径),查看文档,并执行文档内容这里有个文档,README,打开,看到他有编译的提示,我下面翻译一原创 2021-05-26 23:04:47 · 14297 阅读 · 2 评论 -
QT静态库的生成和使用
在QT中静态库的后缀名为.a,在vs中开发的静态库后缀名为.lib。静态库的生成新建一个静态库的项目,如图1.1所示:项目名称为test1. 选择项目类型选择项目类型为静态链接库,设定项目路径。共享库是创建动态链接库,后缀名为.so,vs上为.dll。3. 选择下一步,选择需要的qt模块。4. 选择下一步,设置类和文件名称。注意类名称为链接库名,在本项目中为test,对应的静态库名称为libtest.a5. 编写静态库代码。6....原创 2021-01-18 16:58:58 · 1716 阅读 · 0 评论 -
QT多线程(QThread)小结
QThread只有run函数是在新线程里的,其他所有函数都在QThread生成的线程里如果QThread是在ui所在的线程里生成,那么QThread的其他非run函数都是和ui线程一样的,所以,QThread的继承类的其他函数尽量别要有太耗时的操作,要确保所有耗时的操作都在run函数里。在UI线程下调用QThread的非run函数(其实也不应该直接调用run函数,而应该使用start函数),和执行普通函数无区别,这时,如果这个函数要对QThread的某个变量进行变更,而这个变量在run函数里也会被用到.原创 2021-01-18 16:43:40 · 1158 阅读 · 0 评论 -
Linux SPI设备接口函数解析&QT调试Demo
通常SPI通过4个引脚与外部器件相连:MISO:主设备输入/从设备输出引脚。MOSI:主设备输出/从设备输入引脚SCK:串口时钟,作为主设备的输出,从设备的输入NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。时序:SPI有4种工作时序模式:CPOL表示时钟信号的初始电平的状态,CPOL为0表示时钟信号初始状态为低电平,为1表示时钟信号的初始电平是高电平。CPHA来表示在那个时钟沿采样数据,CPHA为0表示在首个时钟变化沿采样数据,而CPHA为1则表..原创 2021-01-18 16:09:33 · 3788 阅读 · 1 评论 -
IC卡读写模块(MFRC522) 简介调试&QT实现
1. 前言本例主要讲解MFRC522和IC卡的相关知识,以及其基础调试。2. 相关知识2.1 MFRC522简介MFRC522是非接触式读写模块,可以理解为IC卡读写模块,常见的使用场景如门禁等只要支持3种通讯方式:①SPI、②I2C、③UART2.2 S50/S70(IC卡)简介S50/S70卡,就是常说的IC卡,即MFRC522模块扫描识别的卡。模块主要性能:...原创 2021-01-18 11:57:41 · 7886 阅读 · 2 评论 -
GPRS模块(SIM900A)在QT下的通信例程
一、SIM900ASIM900A模块为2G模块,采用UART串口通信,含有TTL接口,支持拨打电话、收发短信等日常功能。二、硬件连线硬件采用5V供电,调试的时候可用USB转TTL工具调试,接线如下:(要把天线扭上去,加强信号,就那黑棒子)三、指令解析指令常用AT相关指令控制,可查指令手册。这里列出几种重要的(回车换行\r\n略)://通过GPRS打电话//sPhoneNum:电话号码void CGPRS::call(const QString&..原创 2021-01-17 11:00:05 · 950 阅读 · 1 评论 -
ESP8266 WIFI模块调试及在QT Windows下的通讯
一、前言本例简述ESP8266 ESP-01 WIFI模块的基础调试,并提供在QT Windows下的通讯,包含客户端和服务器端的Demo。二、相关知识1. ESP8266 ESP-01ESP8266 ESP-01是价格比较低廉的一块WIFI模块,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能,使用AT指令进行控制。可支持UART,II...原创 2021-01-16 00:03:19 · 3827 阅读 · 1 评论 -
QT制作Modbus组包小工具
目录一、前言二、操作说明三、源码简析四、Demo/小工具一、前言我们常用Modbus协议来读取仪器的某一或多个寄存器的值,但在现实中,可能读取的寄存器过多(例如几百个);当出现问题的时候,不容易分析每个寄存器的值,此Modbus组包小工具,可以很好显示对应的寄存器。二、操作说明1. 寄存器->组帧输入开始寄存器、结束寄存器(数字),点击【显示寄存器】,则会显示寄存器的值(默认全0);一个寄存器16位,H和L都是十六进制数。如果你想修改某一寄存器的值,则.原创 2020-06-15 11:29:18 · 1393 阅读 · 0 评论 -
QT4 虚拟软键盘
一、前言本例主要实现QT4下的虚拟软键盘功能,使用了中文sqlite库,具有正常英文/中文/数字字符输入,支持一定的多中文拼写能力,支持自定义界面、移动虚拟键盘等功能。二、效果展示三、源码简析源码分为两部分,一部分是虚拟键盘的相关交互类,另一部分是键盘的使用部分。1. 虚拟键盘类①先讲讲ui,ui的基础框架是在CVirtualKeyBoard.ui里设置的,样式是在keyboard.qss里设置,在CVirtualKeyBoard.cpp引用了keyboard.q..原创 2020-05-22 16:16:12 · 1540 阅读 · 2 评论 -
QSqlQuery数据库类简介&Demo简析
目录一、前言二、相关步骤三、提示四、源码/Demo一、前言本节讲述QT sql数据库使用方案,并提供一个访问数据库的封装类,最后关于发布时的提示二、相关步骤①工程文件加入sql模板QT += sql②创建CDbMain类单例,用来连接数据库创建单例的好处在于不用经常开关数据库和创建多次类,单例在整个工程都能使用。单例部分可看我的博文《QT单例模式(函数模板实现)》CDbMain.h#ifndef __CDBECMAIN_H__#de.原创 2020-05-20 16:10:06 · 1809 阅读 · 0 评论 -
QT单例模式(函数模板实现)
目录一、前言二、源码简析三、Deomo/源码一、前言单例模式是用来保证系统中只有一个实例,并提供一个访问它的全局访问点。本节提供一个C++函数模板实现的单例模式,可直接套用。二、源码简析①单例函数模板TSingleMode.h#ifndef __TSINGLEMODE_H__#define __TSINGLEMODE_H__#include <QMutex>template<typename T>class TSingleM.原创 2020-05-19 14:59:53 · 1180 阅读 · 0 评论 -
QT纯代码设计UI界面&Demo
目录一、前言二、界面三、源码简析四、Demo/源码一、前言UI的设计方法有几种:①一种是使用Qt Designer,也就是可视化设计,这在小型项目中常见,优点就是可观简便;②另一种就是纯代码设计UI,也就是不可视设计UI,这在中大型项目常见,优点是界面隐蔽性强。无论那种方式,实际上都是转化为第二种的方式,只是第一种是QT已经帮忙处理了,处理成第二种纯代码的形式。本文简析纯代码设计UI的Demo,大家在项目中可以直接套用。二、界面界面设计很简便,两个lab.原创 2020-05-18 17:39:59 · 12937 阅读 · 6 评论 -
QT 读写CSV文件
目录一、CSV的结构二、源码简析三、源码一、CSV的结构CSV文件,也称为逗号分隔值文件,顾名思义,就是用逗号和换行符分隔开的文件。下面举个例子就很清楚了:例如我有一个class.csv文件,如果用表格软件打开,即如下:如果用记事本打开,就是如下:无论用什么方式打开,其实就是同一个东西。CSV文件通过","分开列,通过换行符(\t\n)分开行,这就是CSV文件的结构。所以解析的时候,也是根据CSV文件的结构解析:①根据换行符号将数据分割为行数据集;②根据逗号原创 2020-05-14 17:42:11 · 8780 阅读 · 1 评论 -
Qt4 json读写案例
目录一、前言二、效果展示三、源码简析四、源码一、前言QT5新增加了处理JSON的类,类均以QJson开头,包含在QtCore模块中,所以直接使用就可以了但是QT4仍需使用第三方库来解析JSON文件,本例使用的是C++的JSON类,网上有集成QT4的QJSON类也可以参考一下二、效果展示class.json文件:三、源码简析CJson类用于读写Json。CJson.h#ifndef CJSON_H#define CJSON_H#inc..原创 2020-05-13 17:20:52 · 2050 阅读 · 0 评论 -
QT zint一维码生成解析
一、前言本文主要讲解一维码的相关知识,并提供zint库编译源码(支持Windows和Linux),以及一个简单运用的Demo二、相关知识zint是一维码生成库,可以生成code39,code11,code128,ean13等,运用场景如超市扫描枪,书本条形码等。zint库需依赖于zlib、libpng这两个库,所以一共需编译三个库,依赖关系如下图。所以编译先后顺序为:zlib、libpng、zint,因为编译涉及很多文件的修改和包含关系等,并且源码不完全正确,需修改,这里不详述.原创 2020-05-12 10:14:29 · 1084 阅读 · 0 评论 -
QT二维码生成和解析&Demo
目录一、前言二、相关知识三、效果展示四、主要源码简析五、源码Demo一、前言本文主要介绍二维码生成和解析的相关知识和例程二、相关知识①二维码生成:主要用到的是开源的二维码QR码编码库qrencode,需要使用到的库文件为下面的:库里最重要的是下面的二维码生成函数:/*string是生成二维码的字符串;2表示二维码的版本,一般选1或2都可以;QR_ECLEVEL_L表示容错级别,容错级别越高,相同的字符串生成的二维码就越复杂,相对应的识别二维码.原创 2020-05-09 13:27:54 · 3243 阅读 · 0 评论 -
加密狗+AES算法在QT Windows下的加密简析&例程
1. 前言本例主要简析加密狗加密解密的过程,结合实体加密狗和AES加密算法,提供QT Windows环境下加密狗的Demo2. 相关知识本例使用的是天威精简型加密狗,淘宝上有售,优点是价格很便宜,也提供相关软件和开发工具。①加密原理:使用加密狗加密,就是将自定义的数据,写入到加密狗的相关存储器中;当程序运行时,读取出相应的数据,就可以判断出是否是对应的加密狗,达到加密的效...原创 2020-05-02 13:53:29 · 1701 阅读 · 0 评论 -
QT修改XML文件
目录一、前言二、XML结点知识三、结果展示四、代码分析一、前言本例主要讲解XML结点的小知识,已经提供QT修改XML文件内容的小例子二、XML结点知识例如有个test.xml文件如下:<?xml version="1.0" encoding="UTF-8"?><rootName> <node1Name1> ...原创 2020-04-29 16:07:49 · 5137 阅读 · 2 评论 -
QT布局与控件介绍
Layouts Vertical Layout 水平布局 Horizontal Layout 垂直布局 Grid Layout 网格布局 Form Layout 窗体布局 Spacers horizontal Spacer 水平间隔 Vertical Spacer 垂直间隔 ...原创 2020-04-29 10:24:58 · 362 阅读 · 0 评论 -
QMessageBox按键选择
本例是个简单的小技巧,QMessageBox的按键选择#include <QMessageBox>#include <QPushButton>#include <QDebug>void msgbox(){ QMessageBox box(QMessageBox::Question, "Title", "Some Imformatio...原创 2020-04-29 10:01:54 · 1589 阅读 · 0 评论 -
QT修改txt内容
本例是个简单的小技巧示例代码:#include <QString>#include <QStringList>#include <QFile>#include <QTextStream>void writeTxt(){ QString strAll; QStringList strList; Q...原创 2020-04-29 09:29:34 · 5217 阅读 · 0 评论 -
QT串口传输解析&例程(Qextserialport库的使用方法)
目录一、前言二、QextSerialPort的常用函数三、效果展示四、源码分析五、Demo/相关包一、前言QextSerialPort是一个串口通信库,使QT4具有串口通信的功能。本例主要讲解QextSerialPort的一些使用方法和例程。二、QextSerialPort的常用函数串口设置:setPortName(COM); ...原创 2020-04-23 18:20:27 · 7231 阅读 · 1 评论 -
QT在Windows下发布版本(Release)
前言QT主要有两种模式,即Debug和Release模式:Debug模式可以称为调试模式,体积比较大,多用于程序员调试程序所用。Release模式可以称为发布模式,不方便调试,运行速度比较快,无需安装任何软件即可运行,适合用来发布给用户。Debug/Release模式在QT Creator构建的时候,即可选择Debug模式或Release模式。QT编译完成的Relea...原创 2020-04-20 17:22:49 · 2334 阅读 · 1 评论 -
QT界面主题风格设置
本章主要介绍QT界面风格设置。在main.cpp修改如下代码:#include <QStyleFactory> //新增int main(int argc, char *argv[]){ QApplication a(argc, argv); //设置界面风格 QApplication::setStyle(QStyleFactory::c...原创 2020-04-15 15:14:34 · 7973 阅读 · 1 评论 -
QT日志输出调试信息
本例主要介绍把QT调试信息,通过日志文件的形式输出,多用于Release版本。在main.cpp修改如下代码:#include <QApplication>#include <QDateTime>#include <QFile>#include <QTextStream>#include "mainwindow.h"//输...原创 2020-04-15 15:02:43 · 367 阅读 · 1 评论 -
QT中文显示乱码解决方式
本篇简单介绍中文显示乱码解决的几种方式。一. 对于QT5.0以上的版本(含)QString::fromLocal8Bit("中文");二. 对于QT5.0以下的版本上一种方式可以使用,也可以使用下面的方式:在main.cpp修改为如下代码段#include <QTextCodec>int main(int argc, char *argv[]){...原创 2020-04-15 14:35:14 · 4568 阅读 · 0 评论 -
QT添加应用程序图标&版本信息
本例介绍在QT应用程序和窗口添加图标的方法。步骤:一、准备.ico类型的图片可由jpg/png类型图片转换,点击链接转换ico类型图片, 本示例图像名称为logo.ico二、配置1. 创建logo.rc文件,添加如下代码IDI_ICON1 ICON DISCARDABLE "logo.ico"2. 在.pro工程文件,加入配置RC_FILE += Reso...原创 2020-04-15 11:37:23 · 819 阅读 · 1 评论 -
QItemDelegate表格添加控件简单解析
本例介绍在表格内添加控件的方法,建议结合我上一篇博客《QAbstractTableModel表格制作简单解析》一起看。CButtonDelegate.h#ifndef CBUTTONDELEGATE_H#define CBUTTONDELEGATE_H#include <QItemDelegate>#include <QStringList>...原创 2020-04-15 10:17:43 · 1289 阅读 · 0 评论 -
QAbstractTableModel表格制作简单解析
本例主要讲解QAbstractTableModel用来制作表格的方法。原创 2020-04-15 09:31:38 · 1328 阅读 · 1 评论 -
QT for Android环境搭建
一、需要准备的安装包:小白可以按默认路径安装,不过要记得路径,后面配置需要用到。1. java jdk2. Android sdk3. Android ndk4. Apache ant5. QT软件包以及Qt Creater(需支持Android的)附上百度云盘资源链接:链接: https://pan.baidu.com/s/1HxeySFt_nehDTaAsl_...原创 2020-04-14 15:42:34 · 4136 阅读 · 2 评论