• 2024-09-27Qt解析十六进制串
      QByteArrayarr1=QByteArray::fromHex("000000A1000000B2000005DC00000000000000900000000000000000000000000000000100000020000000210000000100000000001748C8000000000000046C00000000000000A100000000000000000000006000000000000061E400000000");for
  • 2024-09-23基于Qt的串口调试工具&串口常见问题
    1.项目地址https://github.com/zhangjiechina001/SerialPortTool2.使用注意串口的所有参数波特率、数据位、校验位、停止位、控制流都需要设置正确,设置错了有时会连接上但是传输的数据会很奇怪,有时直接连接不上了串口通信中一般不需要像网络通信那样明确的保活机制(Keep-ali
  • 2024-09-09在 Qt5 中创建一个 HTTP 接口以返回屏幕截图
    在Qt5中创建一个HTTP接口以返回MainWindow的屏幕截图在Qt5中,可以通过使用QTcpServer和QTcpSocket来创建一个简单的HTTP服务器。通过这种方式,我们可以实现一个HTTP接口,当访问该接口时,会返回当前MainWindow窗口的屏幕截图。以下是实现这一功能的详细步骤与相关知
  • 2024-08-31Qt QString(十六进制形式) 转 int
    QString与QByteArray互转QStringstr("HelloWorld");QByteArraybytes=str.toUtf8();//QString转QByteArray方法1QStringstr("HelloWorld");QByteArraybytes=str.toLatin1();//QString转QByteArray方法2QByteArray转QStringQByteArraybytes(&
  • 2024-07-06【QT】异步处理
    自定义信号/槽触发(类似观察者模式)1.自定义类必须从QObject类或者是其子类进行派生2.在定义类的头文件中加入Q_OBJECT宏//自己新建类初始化配置#include<QObject>classDemo:publicQObject{//Q_OBJECT是一个宏,添加它才能正常使用Qt的信号和槽机制Q_OB
  • 2024-05-30【QT】TCP客户端网络连接
    第一步:.pro工程文件添加QT+=network第二步:.h文件添加代码#ifndefTCPCLIENT_H#defineTCPCLIENT_H#include<QException>#include<QDebug>#include<QTcpSocket>#include<QHostAddress>classTCPClient:publicQObject{Q_OBJECTpublic:TCP
  • 2024-05-30【QT】TCP网络通信
    第一步:.pro工程文件添加QT+=network第二步:.h文件添加#ifndefTCPSERVER_H#defineTCPSERVER_H#include<QException>#include<QDebug>#include<QTcpServer>#include<QTcpSocket>classTcpServer:publicQObject{Q_OBJECTpublic:T
  • 2024-05-25qt一个线程管理的tcp
    写一个在x线程中管理的tcp#include<QThread>#include<QTcpSocket>#include<QObject>#include<QNetworkProxy>classTcpSocketController:publicQTcpSocket{Q_OBJECTpublic:TcpSocketController(QObject*parent=nullptr):QTcpSoc
  • 2024-04-25【Qt 专栏】QByteArray详解(QByteArray 与 QString的区别)
    本文转自:《Qt编程指南》    作者:奇先生Qt编程指南,Qt新手教程,QtProgrammingGuide本节学习QByteArray的两种用法,第一种作为字符串处理类,类似QString,但QByteArray内部字符编码不确定,所以要慎用。第二种是作为纯的字节数组,里面可以包含多个'\0',经常用于网络数据的
  • 2024-04-06Qt中char数组转16进制字符
    Tcp传入的16进制转16进制字符关键点:char、QByteArray::toHex()、QByteArray::fromRawData()知识点补充char在32bit或64bit系统中占一个1Bytechar中实际存储的是数字,当存在字符时,会把字符转为ASCLL码中对应的数组,存储进内存中char占1Byte,即4bit,而一个16进制是2的4次方即需
  • 2024-04-06Qt | 元对象系统
    一、QByteArray 类简介1、QByteArray 类简介该类是一个用于处理字符串的类似于C++的 string 类型的类,在Qt中,对字符串的处理,经常使用的是 QString 类,该类保证字符串以'\0'结尾,并使用隐式共享(copy-on-write)来减少内存用量和不必要的数据复制。 QByteArray 适
  • 2024-03-29Qt QByteArray中存储的字节顺序转换
    在QByteArray中,可以使用Qt的函数来实现字节顺序的转换。具体而言,可以使用 qFromBigEndian 和 qFromLittleEndian 函数将大端和小端字节顺序的数据转换为主机字节顺序的数据。同样地,可以使用 qToBigEndian 和 qToLittleEndian 函数将主机字节顺序的数据转换为大端
  • 2024-03-28QT数据类型和容器用法
    Qt库提供了基于通用模板的容器类,这些类可用于存储指定类型的数据项,Qt中这些容器类的设计比STL容器更轻,更安全且更易于使用。容器类也都是隐式共的,它们是可重入的,并且已针对速度/低内存消耗和最小的内联代码扩展进行了优化,从而生成了较小的可执行文件。容器类是基于模板的类,
  • 2024-03-12Qt QByteArray与int、float、vector互转
    QByteArray的转换一般在串口通信中常用,将int、float、double转换为4个字节的数组(如255->[0,0,0,255],本文章一律用10进制表示),或将4个字节的数组转换为int、float、double(如[0,0,0,255]->255)。在QT界面中的使用流程,笔者总结为以下思路:从上位机发送一帧指令到串口(封包、根据具体
  • 2024-03-12C++ Qt开发:QNetworkAccessManager网络接口组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QNetworkAccessManager组件实现Web网页访问。QNetworkAccessManager是Qt网络模块中的关
  • 2024-03-11Qt 将16进制的内容的QString字符串转为QByteArray数组
    1.QString存储十六进制内容我要发送的十六进制内容是0105040100将其储存在QString字符串中1QStringstr;2str="0105040100";2.核心语句将两位的字符串转换为16进制的Int型数字,然后通过强制类型转换成char类型的字符。(具体作用方式我还没去看,但是有用)(char)str.m
  • 2024-03-11Qt 常用数据类型转换
    1、int转QStringquint8转QString1quint8k=77;2QStringstr_1;3str_1=QString::number(k,10);4qDebug()<<str_1;//"77"5QStringstr_2=QString("%1").arg(k);6qDebug()<<str_2;//"77"2、quin
  • 2024-02-19Qt 哈希加密 QCryptographicHash
    QCryptographicHash类提供了生成密码散列的方法。该类可以用于生成二进制或文本数据的加密散列值。目前支持MD4、MD5、SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。共有类型枚举QCryptographicHash::Algorithm:公共函数voidaddData(constchar*data,intlength)
  • 2024-01-29Qt QtConcurrent::run()函数的两种写法
    第一种,使用lambda表达式1QFuture<void>future=QtConcurrent::run([=](){2//Codeinthisblockwillruninanotherthread3});4...第二种,使用成员函数调用QByteArray的成员函数split()1//call'QList<QByteArray>QByteArray::split(charsep)c
  • 2023-07-26QDataStream 读取与写入QByteArray
    问题:QDataStream中写入的数据比QByteArray多了4个byte。仔细看了下,这个4个byte表示的是QByteArray的数据长度。转载官方文档:https://doc.qt.io/qt-6/qdatastream.htmlQDataStream &QDataStream::readBytes(char *&s, uint &l)Readsthebuffer s fromthestreamandr
  • 2023-07-11Qt QJsonDocument以及与QJsonArray、QJsonObject、QJsonValue的关联
    0、说明QJsonDocument类提供了read/writeJSON文档的方法。用QJsonDocument::fromJson()方法,可以从将一个JSON文件(或者QByteArray数据)转换为QJsonDocument,用QJsonDocument::toJson()则能起到相反的用法。在此过程中的语法解析是很高效的,并且可以将JSON转换为Qt使用的二
  • 2023-06-18Qt开发总结1
    GUI界面限制输入的内容QValidator*validator=newQIntValidator(100,999,this);//这样文本框只能输入100~999之间的数字ui->lineEdit->setValidator(validator);显示格式控制ui->textEdit->setWordWrapMode(QTextOption::WrapAnywhere);//任意地方换行ui->tableWi
  • 2023-06-12int型转QByteArray(30转成0x1e,0x00)
    int转QByteArrayQByteArrayintToByte(inti){QByteArrayabyte0;abyte0.resize(4);abyte0[0]=(uchar)(0x000000ff&i);abyte0[1]=(uchar)((0x0000ff00&i)>>8);abyte0[2]=(uchar)((0x00ff0000&i)>>16
  • 2023-06-11[Qt开发]一口气搞懂串口通信
  • 2023-06-11[TSG开发日志2]串口通信?VS下FaroSDK编译环境?一文搞定
    艹,不知道为什么我之前写的法如sdk没有保存,总而言之就是莫名其妙整个工程没有了,后来我想了想,也有可能就是我自己删掉了,因为在配置法如工程的时候遇到了一些小问题,不过现在也解决了。一、关于串口通信:Qt的确有自己的串口通信类,就是QSerialPort,但是我们在使用过程中因为要更加定制