自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(120)
  • 资源 (5)
  • 收藏
  • 关注

原创 Ubuntu上部署Flask+MySQL项目

编辑MySQL的配置文件/etc/mysql/mysql.conf.d/mysqld.cnf(或相应的配置文件,具体取决于你的MySQL版本和安装方式),找到bind-address行,并将其值改为0.0.0.0以允许任何地址的连接,或者指定一个特定的IP地址。Nginx的默认配置文件路径 /etc/nginx/nginx.conf。1、安装gcc(Ubuntu默认已安装)-/static ->项目静态资源目录。1、安装virtualenv。2、安装python源码。1、安装MySQL服务。

2025-03-14 21:13:40 648

原创 【Qt QML】Loader动态加载组件(续)

在以下示例中,ListView 插入到 delegateComponent 上下文中的 index,上下文属性对于 Text 来说是不可访问的。因为 Loader 在实例化 myComponent 时会使用 myComponent 的创建上下文作为父上下文,而在该上下文链中 index 没有对应的引用。一旦 KeyReader.qml 被加载,它会接受按键事件并将 event.accepted 设置为 true,这样事件就不会传播到父 Rectangle。要让其任何子项获得活动焦点,必须将其。

2025-03-05 10:30:30 73

原创 【Qt QML】Loader动态加载组件

方法适用场景优点缺点+ 信号复杂组件间通信清晰、松耦合需确保item加载完成直接调用父项函数简单原型或快速实现代码简短层级依赖强,维护成本高接口属性传递回调函数需要高度解耦的场景灵活、可复用性好需额外定义接口属性优先使用 Connections:确保通信逻辑清晰且稳定。避免直接跨层级调用:除非组件生命周期和作用域完全可控。复杂场景用接口属性:提升组件的模块化和可维护性。

2025-03-05 10:11:40 201

原创 【Qt QML】定时器(Timer)

在 QML 中,定时器是一种非常实用的功能,它允许你在特定的时间间隔后执行代码,或者按固定的时间间隔重复执行代码。QML 提供了 Timer 类型来实现这一功能。

2025-03-02 12:50:07 147

原创 【Qt QML】键盘事件(KeyEvent)和焦点作用域(FocusScope)

Qt 接收按键操作并生成一个按键事件。如果某个 QQuickWindow 是活动窗口,该按键事件将被传递给它。场景会将按键事件传递给具有活动焦点的 Item。如果没有任何项具有活动焦点,则该按键事件将被忽略。如果具有活动焦点的QQuickItem 接受了该按键事件,事件传播将停止。否则,该事件将被发送给该项的父项,直到事件被接受,或者到达根项。如果到达了根项,该按键事件将被忽略,并且会继续进行常规的 Qt 按键处理。

2025-03-02 12:31:51 586

原创 【Qt QML】QML鼠标事件(MouseArea)

QML中的鼠标事件,MouseArea

2025-02-28 09:47:25 131

原创 【Qt QML】布局管理

QML(Qt Meta-Object Language)提供了多种灵活的布局方案,适用于从移动端到桌面端的跨平台界面开发。与传统Widgets的布局策略不同,QML强调与的深度融合。布局管理是用于在 QML 界面中对元素进行合理排列和定位的机制。

2025-02-27 21:08:37 177

原创 【数据结构】B树家族详解:B树、B+树、B*

B+Tree 是 B 树的一种变形,每个节点包含多个键值对和指向子节点的指针。与 B 树不同,B+Tree 所有数据记录都存放在叶子节点,且叶子节点之间通过双向链表连接。非叶子节点仅作为索引,存放键值和指向子节点的指针,这些键值是对应子节点中键值的最大值或最小值。例如在一个简单的 B+Tree 中,非叶子节点可能存储着 10、20、30 这些键值,分别指向包含小于 10、10 到 20、20 到 30 这些数据范围的子节点。B树是 B+ 树的一种变体,在B+树的非根和非叶子结点再增加指向兄弟的指针。

2025-02-24 23:58:23 1361

原创 【数据库】【MySQL】索引

简单来说,它类似于书籍的目录,通过索引可以快速找到对应的数据行,而无需遍历整个表。索引建立在表的列上,通过对列中的数据进行特定的排序和存储方式,使得数据库在执行查询操作时,能够迅速定位到满足条件的数据。例如,在一个包含大量用户信息的表中,如果没有索引,当要查询某个特定用户时,可能需要逐行检查每一条记录;而有了索引,数据库可以直接根据索引找到对应的用户记录,大大提高了查询效率。索引不仅可以用于加速查询,还能在数据唯一性约束、排序操作等方面发挥重要作用。

2025-02-24 23:07:25 421

原创 【架构】架构选型策略树

架构选型策略树

2025-02-22 20:15:08 86

原创 【架构】事件驱动架构(Event - Driven Architecture,EDA)

事件驱动架构(Event - Driven Architecture,EDA)是一种软件设计范式,事件驱动的体系结构由以及组成。在事件驱动架构中,系统的行为由事件触发。事件可几乎实时发送,因此使用者可在事件发生时立即做出响应。生成者脱离使用者,即生成者不知道哪个使用者正在倾听。使用者之间也能彼此脱离,且每个使用者都能看到所有事件。

2025-02-22 20:01:36 1316

原创 【架构】分层架构 (Layered Architecture)

分层架构(Layered Architecture)模型是一种常见的软件设计架构,它将软件系统按照功能划分为不同的层次,每个层次都有特定的职责和功能,层与层之间存在清晰的依赖关系。这种架构有助于提高软件的可维护性、可扩展性和可复用性。

2025-02-19 20:53:49 1368

原创 【架构】微内核架构(Microkernel Architecture)

微内核架构(又称插件式架构)通过最小化核心系统,将可扩展功能以插件模块形式动态加载,实现高内聚低耦合。

2025-02-19 12:22:45 1146

原创 【Qt Qml】Qt::WindowFlags 全解析

以下是 **Qt 6** 中所有可用窗口标志的完整说明(包含跨平台兼容性标注)

2025-02-17 14:14:26 42

原创 【Qt Qml】QML与C++交互

在QML语言语法中,有附加属性和附加信号处理程序的概念,它们是附加到对象上的附加属性。本质上,这些属性是由附加类型实现和提供的,这些属性可以附加到另一种类型的对象上。这与由对象类型本身(或对象的继承类型)提供的普通对象属性不同。在这里,Item对象能够访问和设置键的值。enabled和Keys.onReturnPressed。这使得Item对象可以访问这些额外的属性,作为对其现有属性的扩展。

2025-02-16 12:09:36 300

原创 【Qt Qml】QVector与QList内部结构差异解析

以下是关于QVector与QList内部结构差异的详细对比分析

2025-02-16 11:32:00 29

原创 Qt中使用MoveToThread和子类化QThread的差异和选择

在Qt中,使用moveToThread方法将对象移动到另一个线程与使用子类化QThread来创建自定义线程有显著的差异。

2025-01-09 10:03:15 210

原创 【Qt QML】QtSql Qt中提供的使用数据库的Model分析

QSqlQueryModel为 SQL 结果集提供了一个只读的数据模型。这意味着你可以使用这个类来从数据库中检索数据,并将其展示在基于 Qt 的应用程序的用户界面中,但不能直接通过这个模型修改数据库中的数据。

2024-12-29 16:12:44 45

原创 【视频】将yuv420p的一帧数据写入文件

将yuv420p的一帧数据写入文件。

2024-12-27 15:30:06 656

原创 QML和Qt Quick学习框架

霍亚飞先生编著的QML和Qt Quick快速入门框架

2024-12-26 16:10:47 49

原创 【Qt QML】ComboBox组件

ComboBox是一种常用的图形用户界面(GUI)控件,它结合了文本框(TextBox)和下拉列表(DropDownList)的功能。用户可以从下拉列表中选择一个选项,也可以直接在文本框中输入内容。

2024-08-11 22:18:38 396

原创 【Qt QML】Dialog组件

这个描述指的是一个常见的用户界面元素,即一个临时弹出的窗口(或对话框),它包含一个标题,显示对话框的用途或内容描述,以及一系列标准按钮,如“确定”(Ok)、“取消”(Cancel)、“是”(Yes)或“否”(No)等,用于接收用户的输入或响应。这种对话框通常用于需要用户立即做出选择或提供输入,但不希望中断或替换当前用户界面主要流程的情况。与ApplicationWindow和Page类似,Dialog通常由三个部分组成:标题栏(header)、内容区域(contentItem)和页脚(footer)。

2024-05-28 17:07:30 586

原创 c++对rgb数据进行抽样

以下算法是对rgb数据进行抽样,将数据在内容不变的情况下,降低数据的内存占用,方便应用处理和网络传输。

2024-05-28 09:23:15 341

原创 zstd库数据压缩与解压缩

在今天的博客中,我们将探讨如何在 Visual Studio 2019 中使用 zstd 库进行高效的数据压缩和解压缩。zstd(也称为 Zstandard 或 zstd)是由 Facebook 开发的开源压缩库,提供了非常快速的压缩和解压缩速度,同时还具备高压缩比。

2024-05-27 11:01:08 4603 1

原创 【Qt QML】ComboBox组件

ComboBox 是一个组合的按钮和弹出列表。它提供了一种以最小的屏幕空间呈现选项列表给用户的方式。ComboBox 使用数据模型填充。数据模型通常是一个 JavaScript 数组、一个 ListModel 或一个整数,但也支持其他类型的数据模型。下面是一个简单的使用方式。

2024-05-07 20:33:59 635

原创 【Qt QML】Qt Quick Scene Graph

当使用QQuickRenderControl时,驱动渲染循环的责任被转移到应用程序。在这种情况下,不会使用内置的渲染循环。相反,由应用程序在适当的时间调用抛光、同步和渲染步骤。可以实现类似上述示例的多线程或非多线程行为。此外,应用程序可能希望结合使用QQuickRenderControl实现并安装自己的QAnimationDriver。这可以完全控制驱动Qt Quick动画,对于不显示在屏幕上的内容特别重要,因为没有呈现帧的操作。这是可选的,默认情况下动画会根据系统定时器前进。

2024-05-07 20:08:25 1103 1

原创 【Qt QML】QLibrary加载共享库中的类

QLibrary是一个用于加载动态链接库(或称为共享库)的类。它提供了一种独立于平台的方式来访问库中的功能。在QLibrary中,可以通过构造函数或setFileName()方法设置要加载的库文件名。当加载库文件时,QLibrary会搜索所有平台特定的库位置,除非传入的文件名具有绝对路径。如果传入的文件名具有绝对路径,那么会首先尝试加载该目录。如果该文件找不到,QLibrary会使用不同的平台特定的文件前缀或后缀再次尝试。

2024-05-02 21:39:22 898 1

原创 【Qt QML】用CMake管理Qt工程

CMake是一个开源、跨平台的工具系列,用于构建、测试和打包软件。CMake使用简单的独立配置文件来控制软件编译过程。与许多跨平台系统不同,CMake被设计为与本地构建环境结合使用。下面我们在CMake项目中使用Qt的最基本方法。首先,创建一个基本的控制台应用程序。然后,将该项目扩展为使用Qt Widgets的GUI应用程序。

2024-05-02 14:56:58 2362

原创 【Qt QML】Pane组件

Pane(窗格)提供与应用程序样式和主题匹配的背景色。窗格不提供自己的布局,但需要您定位其内容,例如通过创建RowLayout或ColumnLayout。声明为窗格的子项的项自动成为窗格的contentItem的父项。动态创建的项需要显式地添加到contentItem中。

2024-05-01 22:14:11 198

原创 【Qt QML】Frame组件

Frame的子元素的项会自动成为Frame的contentItem的父元素。动态创建的项需要显式地添加到contentItem中。如果在一个框架中只使用一个项目,它将调整大小以适合其包含的项目的隐式大小。这使得它特别适合与布局一起使用。继承自Panel控件。用于在可视框架内布局一组逻辑控件。简单来说就是用来包裹和突出显示其他可视元素。Frame不提供自己的布局,但需要自己对元素位置进行设置和定位,例如通过创建RowLayout或ColumnLayout。

2024-05-01 21:56:48 927

原创 【Qt QML】TabBar组件

Qt Quick中的TabBar提供了一个基于选项卡的导航模型。TabBar由TabButton控件填充,并且可以与任何提供currentIndex属性的布局或容器控件一起使用,例如StackLayout或SwipeView。

2024-04-25 08:24:53 1204

原创 【Qt QML】Popup如何置顶

叠加为弹出窗口提供了一个图层,确保弹出窗口显示在其他内容之上,并且当模态或调暗的弹出窗口可见时,背景变暗。覆盖层是覆盖整个窗口的普通Item。它可以作为一个可视的父元素,在场景坐标中定位一个弹出框。

2024-04-23 09:15:33 559

原创 【Qt QML】State组件

State(状态)组件是一组来自默认配置的批处理更改。所有项都有一个默认状态,该状态定义对象和属性值的默认配置。可以通过将State项添加到states属性来定义新的状态,以允许项在不同的配置之间切换。

2024-04-23 09:14:33 423

原创 【Qt QML】QML中定义常量

新建文件Constants.qml。

2024-04-19 10:34:42 419

原创 视频技术笔记-色差分量

因为这样,所以SDTV用的规格将色差信号以“CB”“CR”来称呼,HDTV的话是以“PB”“PR”来称呼。RGB方式将所有的颜色信息作同等的处理,虽然有最高的画质,但由于RGB方式对传输带宽和储存空间的消耗太大,为节省带宽,使用色差方式来传送与记录分量视频是现在的主流。转换过后的颜色信息量被删减了约一半,但由于人眼的特性,使得色差处理过后的影像与原始影像的差异很难被察觉。色差: Pb=0.5389×(B-Y) = -0.1146×R - 0.3854×G + 0.5000×B。

2024-04-19 10:06:58 640

原创 浅压缩、深压缩、双引擎、计算机屏幕编码……何去何从?

缺点之二:浅压缩的码率还是很高,即便本地应用,大规模的应用对核心交换机的压力非常大,接入交换机选型也非常苛刻(系统必须满足极限要求,即每个端口900Mbps,48路的接入交换机,则上行44G,10个10G口都不够,但是往往接入交换机达不到48个千兆线速+4个万兆线速的包交换速度)。器件要求不高,因而成本比较低。所以现阶段看来,分布式在未来5-10年内要充分5G的红利,依托5G生态建立更多精彩的应用,甚至能否跳出显示控制的狭窄应用,无缝融合到指挥、业务流程,实现更大的价值,低码率和画质始终是绕不过去的槛。

2024-02-03 15:37:50 1333 1

原创 【Qt QML】QSettings读写ini配置文件类

QSettings 是 Qt 框架中用于读取和写入应用程序配置信息的类。它提供了一个跨平台的解决方案,可轻松地保存和获取应用程序的设置和状态。QSettings 通常用于保存应用程序的配置信息,如窗口大小、位置、字体设置等。这些信息通常存储在注册表、属性列表文件或 INI 文件中,具体取决于操作系统。在 Windows 系统中,QSettings 通常将数据存储在注册表中;在 Unix 系统中,如果没有标准配置文件,许多应用程序(包括 KDE 应用程序)使用 INI 文本文件。

2024-01-21 13:23:42 975

原创 【C++11/C++17】左值与右值

左值和右值是C++中的两个重要概念,它们涉及到变量的存储位置和生命周期。

2024-01-11 15:05:53 481

原创 【C++11/C++17】std::map高效插入

当元素存在的时候,emplace依然会构造一次带待插入元素,判断不需要插入后,将该元素析构,这样导致的后果是,产生了多余的构造和析构操作。C++17引入了std::try_emplace方法,在参数列表中,把key和value分开,该方法会检测指定的key是否存在,如果存在,什么也不做,不存在,则插入相应的value。此外,C++17为map容器还新增了insert_or_assign方法,让我们无需像之前一样,额外编写先判断是否存在,不存在则插入,存在则更新的代码了。

2023-12-24 22:19:08 918 1

原创 【C++11/C++17】std::vector按顺序插入

在有序std::vector中插入元素,并保持std::vector元素排序std::vector本身不会对它们的对象进行排序。

2023-12-21 09:48:12 1010

UML业务类图设计模板

UML业务类图设计模板

2023-12-10

TCP传输数据的整体流程

TCP传输数据的整体流程

2023-12-10

TCP双向传输数据的确认机制

TCP双向传输数据的确认机制

2023-12-10

TCP传输数据的确认机制

TCP传输数据的确认机制

2023-12-10

TCP对传输数据的进行拆分逻辑

TCP对传输数据的进行拆分逻辑

2023-12-10

TCP/IP协议中的MTU与MSS

TCP/IP协议中的MTU与MSS

2023-12-10

Qt基于生产消费者模型异步访问数据库框架(不涉及数据库代码)

Qt基于生产消费者模型异步访问数据库框架(不涉及数据库代码)

2022-08-29

基于C++11模板实现的发布/订阅开发框架读取《雪中悍刀行》

基于C++11模板实现的发布/订阅开发框架读取《雪中悍刀行》

2022-02-26

23种设计模式_C++版_源码示例

懂了设计模式,你就懂了面向对象分析和设计(OOA/D)的精要。反之好像也可能成 立。道可道,非常道。道不远人,设计模式亦然如此。

2022-02-20

QML程序修改窗口主题

QML程序修改窗口主题

2021-12-17

y4m解析 基于QML渲染.y4m格式2160p文件(yuv420帧数据)

基于QML渲染.y4m格式2160p文件(yuv420帧数据)

2021-12-07

daemonExample.zip

windows下创建主进程的守护进程,vs2015编译

2021-05-28

空空如也

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

TA关注的人

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