- 博客(60)
- 收藏
- 关注
原创 C++ 静态工厂函数
静态工厂函数是C++中一种灵活而优雅的设计模式,它可以帮助我们实现对象的创建和管理。通过封装对象创建逻辑、隐藏实现细节、提高灵活性等优点,静态工厂函数在实际项目中具有广泛的应用价值。合理地使用静态工厂函数可以使代码更加清晰、可维护、可扩展,是C++编程中的一种重要的设计技巧。
2024-04-25 10:20:50 415
原创 Qt+OpenGL入门教程(四)——VBO、VAO和EBO
在OpenGL中,VAO(Vertex Array Object)、VBO(Vertex Buffer Object)和EBO(Element Buffer Object)是三个核心概念。
2024-04-01 13:26:11 454
原创 Qt+OpenGL入门教程(二)——OpenGL渲染管线
OpenGL渲染管线是指OpenGL图形渲染过程中的一系列阶段,它描述了如何将输入的几何数据转换成最终的图像输出。
2024-03-28 11:45:52 1107
原创 Qt+OpenGl入门教程(一)——认识OpenGL
一般它被认为是一个API(Application Programming Interface,应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API,它仅仅是一个由制定并维护的规范(Specification)。
2024-03-28 09:47:57 651
原创 Qt网络编程——处理TCP粘包
TCP 是面向连接的、安全的流式传输协议。所谓流式协议,即协议的内容是像流水一样的字节流,内容与内容之间没有明确的分界标志,因此会产生粘包现象
2024-03-07 13:31:38 560
原创 QT网络编程——TCP
TCP(Transmission Control Protocol,传输控制协议)是一个用于数据传输的低层的网络协议,多个互联网协议(包括 HTTP 和 FTP)都是基于 TCP 协议的。它是可靠的、面向流、面向连接的传输协议,特别适合连续数据的传输。TCP(Transmission Control Protocol,传输控制协议)是一个用于数据传输的低层的网络协议,多个互联网协议(包括 HTTP 和 FTP)都是基于 TCP 协议的。它是可靠的、面向流、面向连接的传输协议,特别适合连续数据的传输。
2024-02-27 15:40:13 790
原创 Qt网络编程——UDP
UDP(User Datagram Protocol,用户数据报协议)是一个轻量级的、不提供可靠性保证的、面向数据报的无连接协议,用于可靠性不是非常重要的情况。
2024-02-27 10:22:08 643
原创 主机信息查询
QHsotInfo 主要关注主机名、域名和 IP 地址等主机相关的信息,适用于解析主机信息的场景。QNetworkInterface 主要关注设备上的网络接口,提供了详细的接口信息,适用于获取设备网络配置的场景。
2024-02-26 16:26:06 321
原创 第五篇:其他窗口部件 QAbstractButton
QAbstractButton 类是按钮部件的抽象基类,提供了按钮的通用功能。它的子类包括标准按钮 QPushButton、工具按钮 QToolButton、复选框 QCheckBox和单选按钮 QRadioButton 等。
2024-01-20 10:31:48 941
原创 第四篇:其他窗口部件 QFrame
QFrame 类是带有边框的部件的基类。带边框部件最主要的特点就是可以有一个明显的边界框架。QFrame 类的主要功能就是用来实现不同的边框效果,这主要是由边框形状(Shape)和边框阴影(Shadow)组合来形成的。
2024-01-19 11:20:51 874
原创 C++ enum与enum class对比
在C++中,有两种主要的枚举类型:常规枚举(enum)和枚举类(enum class)。这两种枚举类型在使用方式和行为上有一些重要的差异,本文将详细讨论这两种枚举的区别和用法。
2023-11-06 10:43:47 4167
原创 第三篇:对话框窗口部件 QDialog
对话框(Dialog)是计算机图形用户界面(GUI)中的一种常见窗口类型,。对话框的主要目的是与用户进行短期的、有限的交互,以完成特定的操作或任务,然后将控制返回给应用程序的主窗口或上下文。
2023-08-23 14:12:30 2172
原创 第二篇:基础窗口部件 QWidget
QWidget 类是所有用户界面对象的基类,因此被称为基础窗口部件。QWidget 继承自 QObject 类和QPaintDevice 类,其中 QObject 类是所有支持 Qt 对象模型(Qt Object Model)的对象的基类,QPaintDevice 类是所有可以绘制的对象的基类。QWidget 提供了自我绘制和处理用户输入等基本功能,Qt 提供的所有界面元素不是 QWidget 的子类就是与 QWidget 的子类相关联。要设计自己的窗口部件,可以继承自 QWidget 或者它的子类。
2023-08-22 14:44:20 311
原创 第一篇:编写 Hello World 程序
本章要讲的就是在Qt Creator 中创建一个图形用户界面的项目,从而生成一个可以显示 Hello World 字符串的程序。
2023-08-21 14:07:52 2495
原创 VS2019+Qt5.15.2 编译 QtWebEngine(带音视频解码)
QtWebEngine 是 Qt 框架的一部分,用于构建现代 Web 浏览器功能。本篇教程将向您展示如何在 Visual Studio 2019 中编译 QtWebEngine 5.15.2 源码,并配置以支持音视频解码功能。
2023-08-17 09:43:27 1347
原创 Qt与Web混合开发:实现双向通信
QWebChannel填补了C++应用程序和HTML/JavaScript应用程序之间的空白。通过将QObject派生对象发布到QWebChannel并在HTML中引用qwebchannel.js脚本。在HTML端,可以透明地访问QObject的属性、公共槽和方法。无需手动传递消息和数据序列化,C++方面的属性更新和信号发射将自动传输到可能远程运行的HTML客户机。在客户端,将为任何发布的C++ QObject创建JavaScript对象。它镜像C++对象的API,因此可以直观地使用。
2023-07-18 13:21:51 6538 6
原创 第一章:基本概念
数据结构与算法是计算机科学中的重要组成部分,它们为程序的设计与实现提供了基础框架。无论是开发一个简单的应用程序还是解决复杂的问题,理解并运用好数据结构与算法都将是至关重要的。本文将简单介绍数据结构与算法的重要性以及如何运用它们构建高效程序的基石。
2023-07-06 10:38:02 276
原创 C++ 拷贝构造函数中的Private权限问题
C++类的成员函数可以访问同类型实例对象的私有成员变量是因为成员函数是类的一部分,它们被视为类的内部代码。在类的内部,所有成员函数都可以访问该类的私有成员。
2023-06-26 15:55:23 653
原创 无向图的深度优先遍历与广度优先遍历
深度优先遍历(Depth-First Search,DFS)和广度优先遍历(Breadth-First Search,BFS)是图遍历算法中常用的两种方法。它们可以用于搜索和遍历图中的顶点,每种方法都有其独特的特点和应用场景。
2023-06-25 16:48:32 1197
转载 JavaScript 基础
JavaScript 是一门编程语言,可为网站添加交互功能(例如:游戏、动态样式、动画以及在按下按钮或收到表单数据时做出的响应等)。本文介绍了 JavaScript 的精彩之处和主要用途。
2023-06-12 16:53:35 80
转载 CSS 基础
CSS(Cascading Style Sheets,层叠样式表)是为 web 内容添加样式的代码。本节将介绍 CSS 的基础知识,并解答像这样的问题:怎样将文本设置为红色?怎样将内容显示在屏幕的特定位置?怎样用背景图片或颜色来装饰网页?
2023-06-12 16:51:27 117
转载 HTML基础
超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用来结构化 Web 网页及其内容的标记语言。网页内容可以是:一组段落、一个重点信息列表、也可以含有图片和数据表。正如标题所示,本文将对 HTML 及其功能做一个基本介绍。
2023-06-12 16:46:43 61
原创 C++ 模板特例化
C++模板特例化是一种特殊的模板形式,它允许我们为特定类型或特定情况下的类型提供自定义实现。这种特殊的实现可以覆盖通用模板的默认实现,从而为我们提供更加灵的编程方式。优点:可以针对特定类型或特定模板参数提供特定的实现,从而优化程序的性能或实现特定的功能。例如,可以为某些类型提供更高效的实现,或者为某些特定的模板参数提供特定的行为。缺点:会增加代码的复杂性和维护成本。特例化的代码通常需要与原始模板代码保持同步,这可能会导致代码重复和维护困难。
2023-06-03 10:06:56 350
原创 设计模式简介
设计模式(Design Pattern)代表了最佳实践,是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。
2023-06-01 17:58:21 565
原创 Qt 帮助项目
Qt帮助项目收集生成压缩帮助文件所需的所有数据。除了诸如目录,索引关键字和帮助文档之类的实际帮助数据外,它还包含一些其他信息,例如用于标识帮助文件的名称空间。一个帮助项目代表一个文档集。
2023-06-01 11:32:55 535
原创 Qt 帮助框架简介
Qt帮助系统包括生成和查看Qt帮助文件的工具。此外,它还提供了以编程方式访问帮助内容的类,以便能够将在线帮助集成到Qt应用程序中。
2023-06-01 11:32:26 1063
原创 Qt 助手简介
在探讨Qt帮助框架之前,我们先了解一下Qt帮助文档,可以让大家更好的理解。当你使用Qt时,你可能会发现Qt帮助文档是一个非常有用的资源。Qt帮助文档提供了关于Qt框架和其各种组件的详细信息,包括类和函数的文档、示例代码和教程等。本节简单介绍Qt助手。
2023-05-31 11:22:00 2043
原创 登录ChatGPT时提示Sorry, you have been blocked(对不起,您已被阻止)
登录ChatGPT时提示Sorry, you have been blocked(对不起,您已被阻止)
2023-05-19 10:15:19 9579 1
原创 qt几种常见安装包制作工具-Qt Installer Framework
QtIFW提供了一组工具和实用程序,可以一次性创建安装程序,并在所有支持的桌面Qt平台上部署它们,而无需重写源代码。
2023-05-07 17:39:15 3089
原创 ChatGPT到底怎么用?
ChatGPT(Chat Generative Pre-trained Transformer)全称为生成型预训练变换模型,由美国OpenAI团队研发。现如今的ChatGPT不仅可以根据聊天上下文进行交互,还可以进行文学创作、翻译、编写代码等,相信以后它会成为你真正的得力助手。有两点需要注意,一个是Gmail账号,一个是接码平台,一定要选择符合规定的平台。文章中的只是建议。
2023-04-26 15:58:31 13701 5
原创 VS Code的神级插件Bito - GPT-4 和 ChatGPT 编写代码、解释代码、创建测试
Bito插件是非常容易使用的。只需将其安装到您的IDE中,然后启用它即可开始使用。在许多情况下,Bito插件会自动为您提供所需的功能,以便您可以更快地编写代码。
2023-04-26 11:04:56 14062 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人