• 2024-07-02深入理解Qt的隐式共享机制
    在Qt中,一个关键的性能优化特性是其数据结构的隐式共享机制,这在Qt的文档和API中常被称为“隐式共享”或“写时复制(Copy-On-Write,COW)”。本文将详细介绍这一机制,并通过QString类的实现代码和相应的反汇编代码来阐释其工作原理。隐式共享的定义和优点隐式共享是一种内存管
  • 2024-07-01QT 读取Json 配置文件
    {QStringProjectPath="";QStringConfigPath=".json";constchar*PathEnvVar=getenv("");if(PathEnvVar!=nullptr){ProjectPath=PathEnvVar;ConfigPath=ProjectPath+"/.json&quo
  • 2024-06-21Qt QTableView插入控件,qss设计
    环境Qt5.4.2功能QtQTableView插入控件,qss设计源码1.mainwindow.hclassMyComboBox;classMyDoubleSpinBox;classMainWindow:publicQMainWindow{Q_OBJECTpublic:explicitMainWindow(QWidget*parent=0);~MainWindow();private:Ui:
  • 2024-06-20qstring::arg方法
    voidTimeMgrUI::SetLinuxTime(QStringsTime){#ifdefg_LinuxPlatformQStringstr=QString("date-s\"%1\"").arg(sTime);system(str.toStdString().data());system("hwclock-w");#endif}在示例代码中用sTime代替%1;原理如下:QStrin
  • 2024-06-15【Qt】xml文件节点读取
    1.xml文件test.xml文件内容<?xmlversion="1.0"encoding="utf-8"?><library> <book1> <id>00000001</id> <name>1111</name> </book1></library>2.代码voidDataXml::read(){ //打开文件
  • 2024-06-13sqlite 批量插入
    QStringinsertQuery="INSERTINTOdata_waveform(ID,Point,IndexN,Type,Timestamp,CH1,CH2,CH3,CH4)VALUES";QStringListvalueStrings;for(autodata:*dataVec){valueStrings.append(QString("(\"%1\",%2,
  • 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-08Qt基于SQLite数据库的增删查改demo
    一、效果展示在Qt创建如图UI界面,主要包括“查询”、“添加”、“删除”、“更新”,四个功能模块。查询:从数据库中查找所有数据的所有内容,并显示在左边的QListWidget控件上。添加:在右边的QLineEdit标签上输入需要添加的内容,包含id,name,age三个字段,然后点击添加按钮,即可将数据
  • 2024-06-06Qt 正则表达式 QRegularExpression
    正则表达式QRegularExpression学习在Qt中有两种和正则相关的类,一种是QRegExp类,今天查资料说的好像是从Qt4传承下来的,BUG相对来说比较多,目前基本已停止维护了,多用于正则匹配,还有一种就是今天要讲的QRegularExpression类,是Qt5新开辟出来的类,相对来说比较完善(网上这
  • 2024-06-03Qt 进程间通讯,Qt子进程嵌入主进程
    本程序实现的功能是将子进程嵌入主进程,通过进程间通讯将子进程的窗口句柄发送给服务端,然后服务端将子进程窗口嵌入主进程;服务端主进程#ifndefMAINWINDOW_H#defineMAINWINDOW_H#include<QLocalServer>#include<QMainWindow>#include<QLocalSocket>#include"ui_mainw
  • 2024-05-30C++结构体使用
    文章目录原文链接一、结构体基本概念二、使用及定义三、结构体数组四、结构体指针六、结构体做函数参数值传递和地址传递的区别七、结构体中const的使用场景原文链接c++中的结构体一、结构体基本概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型
  • 2024-05-30【QT】QHash键值对记录QTcpSocket客户端句柄
    第一步:.h文件代码#ifndefSOCKETMAP_H#defineSOCKETMAP_H#include<QHash>#include<QDebug>#include<QTcpSocket>#include<QException>classSocketMap:publicQObject{Q_OBJECTpublic:SocketMap();public:staticboolupd
  • 2024-05-29基于QT的TCP本地与不同局域网(使用公网)的简易聊天工具
    1.前言本文包含了目前平台上大多数的文章所采取的本地tcp构建的聊天室项目,也就是同一局域网通信。同时,我在这里提供不同局域网下实现通信的方法,这里用到的方法是客户端发送消息给服务器,然后服务器再发送给另一个局域网的客户,为了减少工作量,我采取的是用群聊的方式同一接收信息
  • 2024-05-27log4cplus
    官网地址:https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/GitHub地址:https://github.com/log4cplus/log4cplus官方文档:https://sourceforge.net/p/log4cplus/wiki/Home/项目使用文件:include和lib链接:https://pan.baidu.com/s/1z98yPL9jKxbxgfkjT1jDKw?pwd
  • 2024-05-26Qt基础(一)QString 用法
    QString类保存16位Unicode值,提供了丰富的操作、查询和转换等函数。该类还进行了使用隐式共享、高效的内存分配策略等多方面的优化。1.字符串拼接使用+运算符//字符串拼接//+运算符staticvoidStringConnect1(){QStringstr1="Welcome";str1=str1+
  • 2024-05-14USB-CyAPI
    1.引用CyAPI.lib2.USBCOM.h1#pragmaonce23#include<QtWidgets/QDialog>4#include"ui_USBCOM.h"5#include<Windows.h>6#include"cyAPI.h"7#include<QTimer>8classUSBCOM:publicQDialog9{10Q_
  • 2024-05-09配置文件
    //1.QMetaObject::connectSlotsByNamevoidWidget::on_btnOpen_clicked(){QStringconf_path=qApp->applicationDirPath()+"/conf/settings.ini";std::unique_ptr<QSettings>iniSet(newQSettings(conf_path,QSettings::IniFormat))
  • 2024-05-06VS2017+QT5.9.1 自定义loggerControl
    创建自定义类LoggerControl继承QListWidget#pragmaonce#include<QListWidget>#include"Helper.h"#include<QTime>#include<QPainter>classLoggerControl:publicQListWidget{Q_OBJECTpublic:LoggerControl(QWidget*paren
  • 2024-05-06c++中文编码问题
    std::string或者constchar*,本质上都是二进制,不包含编码属性,其编码信息来源于赋值语句,QString以utf16编码,默认构造或赋值的字面量假定为utf8,若是其它编码比如ansi,可以调用QString::fromLocal8bit一、字面量的编码取决于文件,即如果在c++源文件中有直接赋值1)、constchar*s="
  • 2024-05-03QT使用Http协议通信的实现示例
    转载自:https://www.jb51.net/program/3074287bh.htm 使用QT进行应用开发时,有时候需要进行客户端和服务端的网络通信,本文主要介绍了QT使用Http协议通信的实现示例,具有一定的参考价值,感兴趣的可以了解一下 −目录介绍1.多个独立参数GET请求2.参数数组GET请求3.上传
  • 2024-04-26【Qt 专栏】QString::arg()函数
    原文链接:https://blog.csdn.net/Gnar_w/article/details/134966919作者:Gnar_w  (CSDN) 一、说明在QT的QString中,arg方法类似于C中的printf中使用的格式输出符(仅有些许类似)。二、使用有以下方式:使用arg(str1,str2,str3)这种方法进行替换。使用arg(str1).arg(str2).arg(
  • 2024-04-26【Qt 专栏】Qt:SQLite数据库操作示例
    转载自:https://blog.csdn.net/qq_40344790/article/details/129521573作者:DevFrank(CSDNC/C++ 优质创作者)1. sqlite介绍SQLite 是一种轻量级的嵌入式关系型数据库管理系统,它是一个开源的、零配置的、自包含的、事务性的SQL数据库引擎。SQLite的设计目标是简单、高效、可
  • 2024-04-25【Qt 专栏】QByteArray详解(QByteArray 与 QString的区别)
    本文转自:《Qt编程指南》    作者:奇先生Qt编程指南,Qt新手教程,QtProgrammingGuide本节学习QByteArray的两种用法,第一种作为字符串处理类,类似QString,但QByteArray内部字符编码不确定,所以要慎用。第二种是作为纯的字节数组,里面可以包含多个'\0',经常用于网络数据的
  • 2024-04-23.pro文件管理qt项目,快捷设置软件名称和版本号
    效果: .cpp文件代码:{ui->setupUi(this);//设置软件名称和版本号QStringversion=QCoreApplication::applicationVersion();QStringname=QCoreApplication::applicationName();QStringverInfo="快捷设置软件名称和版本号-版本:V"+vers
  • 2024-04-15QDir创建目录嵌套
    voidsampleDete::isDirExist(constQString&path){qDebug()<<"path:"<<path;//"./images/2024-04-15-08-56-18/2024-04-15-08-56-18_1"QDirdir(path);if(!dir.exists()){if(!dir.mkpath(path))