• 2024-07-04Qt Json详细介绍
    一.概念介绍JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于前后端数据传输和存储。它具有以下特点:易读性:JSON使用人类可读的文本格式表示数据,采用键值对的方式组织数据,易于阅读和编辑。轻量级:JSON数据格式较为简洁,不包含冗余信息,适合网络传输和存
  • 2024-07-02深入理解Qt多线程编程(QtConcurrent)
    多线程编程在现代软件开发中变得越来越重要,它能够提高应用程序的响应速度和处理性能。在Qt框架中,除了QThreadPool,QtConcurrent也是一个强大的工具,用于简化和管理多线程编程。目录概述接口详解QtConcurrent::runQtConcurrent::mapQtConcurrent::mappedQtConcurrent::filt
  • 2024-06-12QTime序列化时间处理(字符串与秒、毫秒互转)
    秒转为时、分、秒格式inttime_sec=11320;QStringtime=QTime(0,0,0).addSecs(static_cast<int>(time_sec)).toString(QString::fromLatin1("HH:mm:ss"));qDebug()<<time;//输出:"03:08:40"毫秒转为时、分、秒、毫秒格式inttime_ms=211320;QString
  • 2024-06-05QT笔记:重定向qDebug到控件
    QT笔记:重定向qDebug到控件作为log输出的qDebug可以将调试信息打印到调试终端中,但是有时候实际使用将其输出到UI界面也是很有用的,这里记录下如何将qDebug进行控件重定向。测试版本为QT6.6.2代码mainwindow.h//只要能正常编译过qDebug的就行#include<QMainWindow>QT_BEGIN_
  • 2024-05-26Qt基础(一)QString 用法
    QString类保存16位Unicode值,提供了丰富的操作、查询和转换等函数。该类还进行了使用隐式共享、高效的内存分配策略等多方面的优化。1.字符串拼接使用+运算符//字符串拼接//+运算符staticvoidStringConnect1(){QStringstr1="Welcome";str1=str1+
  • 2024-04-05【Qt】系统相关(事件)
    目录一、概念二、事件处理三、鼠标事件1.鼠标点击事件2.鼠标释放事件3.鼠标移动事件四、按键事件一、概念事件是应用程序内部或者外部产生的事情或者动作的统称。在Qt中使用一个对象来表示一个事件。所有的Qt事件均继承于抽象类QEvent。事件是由系统或者Qt平台本身
  • 2024-03-28QT数据类型和容器用法
    Qt库提供了基于通用模板的容器类,这些类可用于存储指定类型的数据项,Qt中这些容器类的设计比STL容器更轻,更安全且更易于使用。容器类也都是隐式共的,它们是可重入的,并且已针对速度/低内存消耗和最小的内联代码扩展进行了优化,从而生成了较小的可执行文件。容器类是基于模板的类,
  • 2024-03-15Qt 数据类型介绍
    Qt提供了一些常见的数据类型来处理各种数据,包括字符串、日期时间、颜色等。下面是一些常用的Qt数据类型及其使用例程:1.QString:用于处理字符串的类。#include<QString>#include<QDebug>intmain(){QStringstr="Hello,Qt!";qDebug()<<"StringExample
  • 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-01-31Visual Studio 2015+Qt编程,如何使用qDebug()打印出信息
    问题:VisualStudio2015+Qt编程,调试程序的时候,使用qDebug()发现在vs的输出界面没有打印出qDebug()的信息。找到了最容易的解决办法(此方法只可以解决此解决方案的):1.项目文件名那里鼠标右键,点击属性,打开属性页 2.找到连接器->系统->子系统 3.将子系统由窗口改为控制台,点击
  • 2023-12-12笔记:Qt开发之定制化qDebug()函数
    目标:实现qDebug()函数的定制输出,包含文件名、函数名、行数等信息1,通过qSetMessagePattern函数,实现定制化输出intmain(intargc,char**argv){QApplicationapp(argc,argv);//改变缺省消息处理程序的输出,信息:线程:功能函数(行数):时间qSetMessagePattern("%{mes
  • 2023-12-01Qt之UDP多播(组播)的使用
    UdpSocket::UdpSocket(QObject*parent):QObject(parent){//本机IPQStringlocal_ip="192.168.101.11";m_udp_socket=newQUdpSocket(this);connect(m_udp_socket,&QUdpSocket::readyRead,this,&UdpSocket::received_data);
  • 2023-12-015、QVariant
    QVariant,被称为万能数据类型,实际上它是类似C++的联合union类型。简单的说自定义性能强就像一个盒子几乎可以让你放任意的qt类型,同时可以轻松构造任意类型的任意复杂数据结构,但请注意复杂类型意味着性能和效率的让步。qt6在文档中如下描述:由于C++禁止联合union包含具有非默认构
  • 2023-11-223、QMap,QHash,QVector
    QMapQMap<Key,T>提供一个从类型为Key的键到类型为T的值的映射。形式为一个键对应一个值。按照键Key的次序存储数据。为了能够支持一键多值,QMap提供QMap<Key,T>::insertMulti()和QMap<Key,T>::values()的函数。//QMap类//1:创建Map实例,第一个参数为QString类型的键值,第
  • 2023-11-12Qt 之 QDebug,QString
    @TOC前言一、QDebugQDebug是Qt中用于进行调试和输出日志的类。它提供了一种便捷的方式来输出各种类型的数据,并可轻松地与流式输出一起使用,方便调试和查看程序的运行情况。引入QDebug:在使用QDebug之前,需要引入头文件<QDebug>。通常,在Qt的源文件中已经包含了头文件,所以无需额外引
  • 2023-10-27Qt和ffmpeg结合制作全能解码播放器
    #include<QCoreApplication>#include<QApplication>#include<QWidget>#include<QVBoxLayout>#include<QVideoWidget>#include<QAudioOutput>#include<QDebug>extern"C"{#include<libavformat/avfor
  • 2023-10-16Qt -- 判断信号是否绑定成功
    1.判断信号是否正确连接通过判断connect的返回值是否为true。bool_ok=connect(this,SIGNAL(signal1()),this,SLOT(slot1()));//打印trueqDebug()<<_ok;2.判断信号是否被连接了receivers返回的是该信号的连接数,如果大于0则为信号有连接。原型:[protected]i
  • 2023-10-12关于vscode编写qt,qdebug无法输出到终端的问题
    这个问题主要是cmake那边的qt设置没弄好。其中WIN32_EXECUTABLEON。这个选项要设置为OFF。不然qdebug无法打印到终端中。如果本来就没有这set_target_properties的话,可以在cmake最后一行加上这个,并且将WIN32_EXECUTABLEON设置为OFF即可。set_target_properties(appl
  • 2023-10-06Qt+FFmpeg播放mp4文件视频
    关键词:QtFFmpegC++MP4视频源码下载在系列原文地址。先看效果。这是一个很简单的mp4文件播放demo,为了简化,没有加入音频数据解析,即只有图像没有声音。音视频源的播放可以概括为以下步骤:mp4文件也是源数据的一种,用FFmpeg解析mp4文件也遵循这个的过程,在函数层面的解析过程
  • 2023-09-16Qt和ffmpeg结合制作全能解码播放器
    #include<QCoreApplication>#include<QApplication>#include<QWidget>#include<QVBoxLayout>#include<QVideoWidget>#include<QAudioOutput>#include<QDebug>extern"C"{#include<libavformat/avfor
  • 2023-08-20测试使用QT来连接SQLServer并取出表格数据
    测试使用QT来连接SQLServer并取出表格数据添加引用工程文件需要加入 QT+=sql在main.cpp添加头文件引用//添加头文件#include<qdebug.h>#include<QSqlDatabase>#include<QSqlError>#include<QSqlQuery>连接数据库QSqlDatabasedb=QSqlDatabase::addDatabase("QODBC");
  • 2023-08-04Qt 通过ADS实现倍福TwinCAT通信
    ADS通信分为两种:同步方式和异步方式。同步方式ADS客户端向ADS服务器发送ADS请求,在通信过程中客户端程序停止执行,直到获得ADS服务器返回的响应又可分为变量名方式和地址方式异步方式ADS客户端向ADS服务器发送ADS请求,同时客户端继续自己的工作。ADS服务器处理
  • 2023-06-15Qt Qdebug 实现重定向到文件
    #include<QtCore/QCoreApplication>#include<QtCore/QDebug>#include<QtCore/QFile>#include<QtCore/QTextStream>//自定义消息处理函数voidmyMessageHandler(QtMsgTypetype,constchar*msg){   //打开输出文件   QFilefile("debug.log");   
  • 2023-06-06QPointer的使用以及场景
    QPointer的使用以及场景在我们项目开发中,经常会遇到这种情况,在A中引用了B的对象,但是你却不知道B什么时候会析构,所以使用它会出现异常;所以今天的主角要登场了QPointer可以完美的解决这样的问题。先来看一下介绍 TheQPointerclassisatemplateclassthatprovidesguardedpoin
  • 2023-05-27Qt 中将std::cout 重定向到 qDebug
    #include<QtCore>#include<iostream>voidcustomMessageHandler(QtMsgTypetype,constQMessageLogContext&context,constQString&msg){QByteArraylocalMsg=msg.toLocal8Bit();switch(type){caseQtDebugMsg: