自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 收藏
  • 关注

转载 Qt基础 | Qt 中 pro 文件常用宏说明

用作记录!

2024-08-01 11:33:50 70

原创 杂谈 | windows批处理脚本 | 配置项目环境变量

命令回显功能是指在运行命令或脚本时,系统将命令的执行过程和结果显示在屏幕上,使用户能够实时地看到命令的执行情况。通常,当命令回显功能打开时,在执行每一步命令时,系统将会显示执行的命令本身以及对应的结果,从而帮助用户了解命令的执行过程,排查可能出现的问题。关闭回显时,命令提示符不会出现在“命令提示符”窗口中。若要再次显示命令提示符,请键入 echo on。

2024-07-31 17:40:39 1514

原创 Qt基础 | 多语言界面设计

有些软件需要开发多语言界面版本,如中文版和英文版,并且在软件里可以方便地切换界面语言。Qt 为多语言界面提供了很好的支持,使用 Qt 的一些规则和工具,可以很方便地为应用程序开发提供多语言界面支持。Qt 开发多语言界面应用程序的步骤在程序设计阶段,程序代码中每一种用户可见的字符串都用 tr() 函数封装,以便 Qt 提取界面字符串用于生成翻译资源文件。用 Ul 设计器可视化设计窗体时统一用一种语言,如汉语。在项目配置文件(.pro文件),设置需要导出的翻译文件(.ts文件)名称使用lupdate。

2024-07-31 14:34:37 949

原创 Qt基础 | 基于HTTP协议的网络文件下载

Qt 网络模块提供一些类实现 OSI 7层网络模型中高层的网络协议,如:HTTP、FTP、SNMP等,这些类主要是 QNetworkRequest、QNetworkReply 和 QNetworkAccessManager。

2024-07-30 20:36:11 854

原创 Qt基础 | UDP通信 | UDP单播、广播、组播的介绍与实现

UDP(用户数据报协议)是轻量的、不可靠的、面向数据报、无连接的协议,它可以用于对可靠性要求不高的场合。与 TCP 通信不同,两个程序之间进行 UDP 通信无需预先建立持久的 socket 连接,UDP 每次发送数据报都需要指定目标地址和端口。QUdpSocket 类用于实现 UDP 通信,它从 QAbstractSocket 类继承,因而与 QTcpScoket 共享大部分的接口函数。主要区别是 QUdpSocket 以数据报传输数据,而不是以连续的数据流。

2024-07-30 20:11:05 1591

原创 Qt基础 | TCP通信 | TCP服务端与客户端程序设计 | QTcpServer | QTcpSocket

TCP 是一种被大多数 Internet 网络协议(如 HTTP 和 FTP) 用于数据传输的低级网络协议,它是可靠的、面向流 、面向连接的传输协议,特别适合用于连续数据传输。TCP 通信必须先建立 TCP 连接,通信端分为客户端和服务器端。Qt 提供 QTcpSocket 类和 QTcpServer 类用于建立 TCP 通信应用程序。服务器端程序必须使用 QTcpServer 用于端口监听,建立服务器;QTcpSocket 用于建立连接后使用套接字(Socket)进行通信。QTcpServer。

2024-07-30 20:07:19 1242

原创 Qt基础 | 主机信息查询 | QHostInfo的介绍和使用 | QNetworkInterface的介绍和使用

Qt 网络模块提供用于编写 TCP/IP 客户端和服务器端程序的各种类,如用于 TCP 通信的 QTcpSocket 和 QTcpServer,用于 UDP 通信的 QUdpSocket,还有用于实现 HTTP、FTP等普通网络协议的高级类如:QNetworkRequest、QNetworkReply 和 QNetworkAccessManager。Qt 网络模块还提供用于网络代理、网络承载管理的类,提供基于安全套接字层(SSL)协议的安全网络通信的类。

2024-07-30 20:01:57 1163

原创 Qt基础 | 多线程编程 | QThread | 线程同步 | QMutex | QMutexLocker | QReadWriteLock | QwaitCondition | QSemaphore

一个应用程序一般只有一个线程,一个线程内的操作是顺序执行的,如果有某个比较消耗时间的计算或操作, 如网络通信中的文件传输,在一个线程内操作时, 用户界面就可能会冻结而不能及时响应。这种情况下,可以创建一个单独的线程来执行比较消耗时间的操作,并与主线程之间处理好同步与数据交互,这就是多线程应用程序。Qt 为多线程操作提供了完整的支持。QThread 是线程类,是实现多线程操作的核心类,一般从 QThread 继承定义自己的线程类。

2024-07-27 21:53:19 717

原创 电力系统 | 发电、输电、变电、配电、用电介绍 | 一度电从电厂发出来到用户终端需要经历哪些环节 | 变电站建在哪里

发电发电是将化学能(煤炭,燃油),水能,核能,风能等各种一次能源转换成二次能源(即电能),中国主要发电企业有五大发电集团和四小豪门。输电输电是指电能的传输。通过输电,把相距甚远的(可达数千千米)发电厂和负荷中心联系起来,使电能的开发和利用超越地域的限制。和其他能源的传输(如输煤、输油等)相比,输电的损耗小、效益高、灵活方便、易于调控、环境污染少:输电还可以将不同地点的发电厂连接起来,实行峰谷调节。变电。

2024-07-27 16:31:25 1452

原创 Qt基础 | 创建和使用静态链接库 | 创建和使用动态链接库

这一节介绍 Qt 编写和使用静态链接库和共享库(动态链接库)的方法。

2024-07-26 15:24:47 2015

原创 Qt基础 | 自定义界面组件 | 提升法 | 为UI设计器设计自定义界面组件的Widget插件 | MSVC2019编译器中文乱码问题

当 Qt 提供的界面组件不满足实际设计需求时,可以从 QWidget 继承自定义界面组件。一种是提升法,将 Qt 提供的 UI 组件提升为自定义的类,提升法用于界面设计时不够直观,不能再界面上即可显示自定义组件的效果另一种是为 UI 设计器设计自定义界面组件的 Widget 插件,直接安装到 UI 设计器的组件面板里,这种方法在设计时就能看到组件的实际显示效果,只是在编译和运行时需要使用到插件的动态链接库(Windows平台上)。

2024-07-26 15:19:36 1210

原创 Qt基础 | QSqIRelationalTableModel 的使用

QSqIRelationalTableModel 类专门用来编辑这种具有代码字段的数据表,可以很方便地将代码字段与关系数据表建立关系,在显示和编辑数据表时,直接使用关系表的代码意义字典的内容。

2024-07-25 12:55:52 1106

原创 Qt基础 | QSqlQueryModel 的使用 | QSqlQuery的使用

QSqlQueryModel 是 QSqlTableModel 的父类。QSqlQueryModel 封装了执行 SELECT 语句从数据库查询数据的功能。QSqlQueryModel 通过设置 SELECT 语句查询获取数据库的内容,但是 QSqlQueryModel 只能作为只读数据源使用,不可以编辑数据。QSqlQueryModel 可以查询数据并作为数据模型,实现数据的显示,QSqlQuery 可以执行 UPDATE、INSERT、DELETE 等 SQL 语句实现数据的编辑修改。

2024-07-25 12:51:22 1300 1

原创 Qt基础 | QSqlTableModel 的使用

QSqlTableModel 直接设置一个数据表的名称,可以获取数据表的全部记录 ,其结果是可编辑的,设置为界面上的 QTableView 组件的数据模型后就可以显示和编辑数据。

2024-07-24 19:42:49 1099 1

原创 Qt基础 | Qt SQL模块介绍 | Qt SQL模块常用类及其常用函数介绍

Qt SQL 模块提供数据库编程的支持,Qt 支持多种常见的数据库,如MySQL、Oracle、MS SQL Server、SQLite 等。Qt SQL 模块包括多个类,可以实现数据库连接、SQL 语句执行、数据获取与界面显示等功能,数据与界面之间使用 Mode /View 架构,从而可以方便实现数据的界面显示操作。QT += sql这样会将 Qt SQL 模块中的所有类都包含进去 ,如果只使用其中的某些类 ,为避免冗余可以单独包含某个类。

2024-07-24 19:37:45 1577 1

原创 Qt基础 | QChart图表的组成 | QChartView设置 | QLineSeries设置 | QValueAxis设置 | 绘制折线图

Qt Charts模块是一组易于使用的图表组件,它基于 Qt 的 Graphics View 架构,其核心组件是QChartView 和 QChart。QChartView 的父类 QGraphicsView,就是 Graphics View 架构中的视图组件,所以, QChartView 是用于显示图表的视图。QChart 的继承关系如下所示,可以看到,QChart 是从 QGraphicsltem 继承而来的 ,所以QChart 是一种图形项。

2024-07-22 20:09:48 1501

原创 Qt类 | QChartView类详解

QChartView 是一个独立的小部件,继承于 QGraphicsView 类。它可以直接在用户界面中显示图表。这使得在应用程序中集成图表变得简单,而无需复杂的图形场景设置。QChartView使用方式。

2024-07-21 22:25:06 891

原创 Qt类 | QChart类详解

QChart 类管理图表数据系列、图例和坐标轴的图形表示,这使得开发者可以通过QChart来创建和展示各种类型的图表。QChart是一个继承自的类,可以在中展示。QChartView类用于在布局中显示图表,它提供了更简单的接口来将图表集成到用户界面中。是一个特殊的图表类,用于以极坐标图的形式展示数据。它允许将线形、样条、区域和散点系列转换为极坐标图,提供了一种不同的数据可视化方式。一个 QChart 一般包括序列、坐标轴、图例、 图表标题等部分。数据序列序列是数据的表现形式。

2024-07-21 21:00:54 1550

原创 Qt基础 | QPainter绘制基本图像 | 坐标变换函数 | 视口与窗口 | 叠加模式

绘图设备的物理坐标是基本的坐标系,通过 QPainter 的平移 、旋转等变换可以得到更容易操作的逻辑坐标。QPainter 提供了视口(Viewport) 和窗口 (Window) 坐标系,通过 QPainter 内部的坐标变换矩阵自动转换为绘图设备的物理坐标。视口表示绘图设备的任意一个矩形区域的物理坐标 ,可以只选取物理坐标的一个矩形区域用于绘图。默认情况下,视口等于绘图设备的整个矩形区。窗口与视口是同一个矩形,只不过是用逻辑坐标定义的坐标系。

2024-07-21 15:52:39 1070

原创 Qt基础 | 文本文件的读写 | 二进制文件读写 | 文件目录操作类

保存为一个stm文件的过程:首先,通过文本对话框选择一个保存(写入)文件{ //以Qt预定义编码保存数据文件QString aFileName=QFileDialog::getSaveFileName(this,tr("选择保存文件"),curPath,"Qt预定义编码数据文件(*.stm)");return;//if (saveDataAsStream(aFileName)) //保存为流数据文件QMessageBox::information(this,"提示消息","文件已经成功保存!

2024-07-20 16:33:02 1209

原创 Qt类 | QFile类详解

QFile 类提供了一个用于从文件读取和写入文件的接口。QFile是 Qt 中用于文件 I/O 的类,支持读取和写入文本和二进制文件。可以单独使用,也可以与或结合使用。QFile类使用要点文件名文件名通常在构造函数中指定,也可以通过方法设置文件分隔符QFile期望使用 ‘/’ 作为文件分隔符,不支持其他分隔符(例如 ‘\’)。文件操作使用exists()检查文件是否存在,使用remove()删除文件。使用open()打开文件,close()关闭文件,flush()刷新文件。读取和写入数据通常通过或。

2024-07-18 20:40:06 1723

原创 Qt类 | QLabel类详解

QLabel控件是一个用于显示内容的控件,可以是文本、图像、动画或数字。它不提供用户交互功能(即不提供用户输入事件的处理),但可以配置其外观和布局。QLabel可以显示纯文本或富文本,开发者需要根据需要选择合适的设置方式。可以通过设置属性来调整文本的对齐方式、换行方式等。QLabel还可以与其它控件配合使用,通过设置焦点助记符来提高用户体验,这将把键盘焦点设置到另一个控件上。

2024-07-18 12:06:55 1259

原创 Qt类 | QAbstractButton类详解

类是按钮控件的抽象基类。这个类是QPushButton、QToolButton、QCheckBox和QRadioButton的基类。普通按钮和可勾选(切换)按钮。可勾选按钮在QRadioButton和QCheckBox类中实现。普通按钮在QPushButton和QToolButton类中实现。类定义了按钮共有的功能,如文本和图标显示、快捷键创建、状态反馈(如是否被按下、是否被选中、是否可用)以及自动重复点击等。文本和图标显示setText()设置文本;setIcon()设置图标。

2024-07-17 11:37:10 907

原创 Qt类 | QPushButton类详解

QPushButton是任何图形用户界面中最常用的控件。按下(点击)按钮来命令计算机执行某个操作。典型的按钮有“确定”、“应用”、“取消”、“关闭”、“是”、“否”和“帮助”。按钮显示文本标签,可以通过在文本中用和号(&)前缀来指定快捷键;还可以选择性地显示一个小图标。按钮中重要的模式或状态包括可用或不可用(变灰,禁用)。标准按钮、菜单按钮。默认或正常。对话框中的默认按钮通常可以使用 Enter 或 Return 键“点击”。是否自动重复。是否按下。按钮的一个变体是菜单按钮。

2024-07-17 11:35:32 1311

原创 Qt基础 | Qt全局定义 | qglobal头文件中的数据类型、函数、宏定义

为了确保在各个平台上各数据类型都有统一确定的长度,Qt为各种常见数据类型定义了类型符号。#ifdefined# endif#else#endifqreal缺省是8字节 double 类型浮点数 ,如果 Qt 使用 -qreal float 选项进行配置,就是4字节 float 类型的浮点数。QtGlobal头文件定义了很多宏,常用的宏如下:QT_VERSIONQT_VERSION宏是一个预处理器指令,它提供了一种检查当前编译环境中 Qt 版本的方法。

2024-07-16 11:02:52 989

原创 Qt类 | QList类详解

QList是Qt框架中的一种泛型容器类,虽然是以数组列表(array-list)的形式实现的,但是在其前或后添加数据非常块。提供快速的基于索引的访问、插入和删除操作。Header:qmake:QT += core内存布局:QList内部可能以数组或指针数组的形式表示,具体取决于元素类型的大小和是否可移动。“是否可移动”通常指的是元素类型是否支持移动构造函数或移动赋值运算符。内存分配:QList在内部数组的两端预分配额外空间,以允许列表两端的快速增长。类型要求:QList的值类型必须是可赋值的效率。

2024-07-16 10:58:22 1836

原创 Qt基础 | Qt核心特点 | 元对象系统 | 属性系统 | 信号与槽

Qt 提供一个Q_PROPERTY()宏可以定义属性,它是基于元对象系统实现的。Qt的属性系统与C++ 编译器无关,可以用任何标准的 C++ 编译器编译定义了属性的 Qt C++程序。[CONSTANT][FINAL]Q_PROPERTY宏定义属性的一些主要关键字的意义READ 指定一个读取属性值的函数,没有 MEMBER关键字时必须设置 READWRITE指定一个设定属性值的函数,只读属性没有WRITE设置。

2024-07-15 10:08:46 741

原创 Qt类 | QObject类详解

所有的 Qt 控件都继承自QObject。Header:qmake:QT += core事件处理QObject提供了事件处理机制,允许对象接收和处理不同类型的事件,如鼠标点击、键盘输入等。QObject对象可以使用用于接收和处理各种事件,可以被子类重写以自定义事件处理。还可以通过installEventFilter()和eventFilter()函数来过滤或拦截其他对象的事件。信号和槽QObject支持 Qt 的信号和槽机制,允许对象之间进行通信。connect()方法用于建立信号和槽之间的连接,而。

2024-07-15 10:01:15 1488

原创 Qt基础 | Qt Creator的基本介绍与使用 | 在Visual Studio中创建Qt项目

Qt Creator的基本介绍与使用 | 在Visual Studio中创建Qt项目

2024-07-11 20:41:24 2007

原创 Qt开发 | 开发技巧 | 带参数启动外部进程 | QtCreator与VS链接第三方库 | windeployqt提取Qt依赖库 | vs win32项目添加x64编译方式 | Qt多语言与国际化

常用的Qt开发技巧总结

2024-07-10 22:28:56 1396

原创 Qt开发 | Qt模型视图代理(Model-View-Delegate)

Qt MVD(Model-View-Delegate)是Qt框架中的一种设计模式,是Qt中用界面组件显示与编辑数据的一种结构。视图(view)是显示和编辑数据的界面组件,模型(Model)是视图与原始数据之间的接口。

2024-07-10 20:30:55 1011

原创 Qt开发 | Qt场景视图技术介绍 | Graphics View的坐标系统 | 基本图元绘制 | 自定义图元

Qt提供了GraphicsView图像架构,是一种基于图形项的模型/视图模式,使用GraphicsView架构可以绘制复杂的有几万个基本图形元件的图形,并且每个图形元件是可选择、可拖放和可修改的,类似于矢量绘图软件的绘图功能。

2024-07-09 22:02:41 1321

原创 Qt开发 | Qt绘图技术 | 常见图像绘制 | Qt移动鼠标绘制任意形状 | Qt绘制带三角形箭头的窗口

Qt提供了绘图技术,程序员可以在界面上拖动鼠标,或者在代码里指定参数进行绘图。

2024-07-09 20:58:20 1940

原创 Qt开发 | Qt创建线程 | Qt并发-QtConcurrent

Qt创建线程的三种方法与QtConcurrent模块的介绍

2024-07-08 21:13:04 2100

原创 Qt开发 | Qt http编程 | Qt http 相关类 | 用户登录注册功能实现 | libcurl编译与基本使用 | Qt websocket的基本使用

HTTP教程HTTP(超文本传输协议,HyperText Transfer Protocol)是一种用于分布式、协作式、超媒体信息系统的应用层协议。HTTP协议是用于从万维网服务器传输超文本到本地浏览器的传送协议。HTTP 是万维网(WWW)的数据通信的基础,设计目的是确保客户端与服务器之间的通信,是互联网上最常用的协议之一。HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。HTTP的请求与响应。

2024-07-08 12:30:55 653 1

原创 Qt开发 | Qt Web混合编程 | VS2019 CMake编译CEF与QCefView| QWebEngineView的基本用法 | Qt与html js交互 | Qt与ECharts

在很多商业项目中,很多页面并不是用Qt来编写的,而是用Web网页编写,利用Qt将网页加载进来就可以显示界面。大多数web技术都是基于chrome,例如:CEF、QCefView、QWebEngineView,这些都是在native界面里用来显示html网页,并且可以与web交互,例如:常见的登陆窗口、优酷的视频区域、WPS的稻城商城,这些都是用web技术实现的,而native端(客户端),只需要把网页展示出来,实现交互即可。WPS、优酷、MindMaster等软件的安装目录里都有libcef.dll。

2024-07-06 20:21:23 1402

原创 Qt开发 | qss介绍及控件应用 | qss加载方式 | 控件提升 | 鼠标位置与控件位置 | 搜索编辑框 | tab在左文本水平的tabWidget

Qt Style Sheets ,简写是QSS,Qt样式表,用于修改控件外观,美化界面。它类似于前端的CSS(Cascading Style Sheets)但专门用于Qt应用程序。QSS允许开发者通过样式表来控制窗口部件的外观和感觉,而无需修改应用程序的源代码。

2024-07-03 21:02:08 1489

原创 Qt开发 | qss介绍 | 常用样式 | 控件样式应用 | qss选择器

Qt Style Sheets ,简写是QSS,Qt样式表,用于修改控件外观,美化界面。它类似于前端的CSS(Cascading Style Sheets)但专门用于Qt应用程序。QSS允许开发者通过样式表来控制窗口部件的外观和感觉,而无需修改应用程序的源代码。例如:下面QLabel的样式设置QLabel/*背景色*//*字体颜色,前景色*//*字体类型*//*字体大小*//*我是qss注释*/除了以上样式外,还有很多,qss千变万化,可以写出各种花里胡哨的样式。

2024-07-03 16:09:23 1742

原创 Qt入门小项目 | WPS tab页面(无边框窗口综合应用)

一个可选参数,指定控件要显示在标签控件的哪个角落。:指向要在角落显示的控件的指针。)的指定角落显示给定的控件(函数用于在标签控件(

2024-06-30 18:11:33 479

原创 Qt开发 | 无边框窗口 | 自定义标题栏 | 拖拽拉伸 | 窗口阴影 | 圆角窗口

QWidget是 Qt 框架中的一个核心类,它是所有控件和窗口的基类。QWidget提供了创建和管理 GUI 组件的基础功能。Qt所有的窗口、控件以及布局都是派生于QWidget。关键特性与功能窗口和控件的基类:几乎所有的 GUI 组件都是QWidget的子类,包括按钮、文本框、标签、窗口等。布局管理QWidget支持多种布局管理方式,如水平布局、垂直布局和网格布局,这些布局可以帮助开发者轻松地组织控件的位置和大小。事件处理QWidget可以接收和处理各种事件,如鼠标点击、键盘输入、窗口大小变化等。

2024-06-30 17:53:26 1118

IEC60870-5-104通信规约以及报文帧解析

IEC60870-5-104规约,简称IEC104,IEC104规约由国际电工委员会制定。IEC104规约把IEC101的应用服务数据单元(ASDU)用网络规约TCP/IP进行传输的标准,该标准为远动信息的网络传输提供了通信规约依据。采用104规约组合101规约的ASDU的方式后,可很好的保证规约的标准化和通信的可靠性。

2024-05-21

DLT645-97/07通信规约

DL/T645通信规约是中国电力行业标准中用于电能表通信的协议,它有两个版本:1997年版(DL/T645-1997)和2007年版(DL/T645-2007)。这两个版本在帧格式和报文解析方面有一些差异。由于DL/T645-2007是目前广泛使用的版本,许多现代电能表和数据终端设备都支持这一版本。然而,由于历史原因,一些旧设备可能仍然使用DL/T645-1997版本。因此,在实际应用中,了解两个版本的具体差异是非常重要的。 详细内容可参考:https://liujie.blog.csdn.net/article/details/138996830?spm=1001.2014.3001.5502

2024-05-17

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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