- 博客(279)
- 资源 (5)
- 收藏
- 关注
原创 QT知识体系框架及对应文章汇总
盘点了QT的主要功能模块的用法和对应的知识点 以及相应的文章列表。包括:基本控件的用法、复杂窗体的搭建、动画特效、数据的处理等等
2024-04-27 16:12:28 1256 2
原创 Rust编程中Pin和Unpin的用法
在Rust编程语言中Pin和Unpin是与内存安全和异步编程相关的概念。它们的主要目的是确保某些类型在内存中的位置不变,尤其是在处理指针和异步操作时。Pin用于确保一个值在内存中的位置不变,从而避免因移动而引起的未定义行为。Unpin是个标记trait表示一个类型可以安全地移动,而不需要担心内存地址变化。在实际应用中,Pin和Unpin常被结合使用尤其是在涉及到异步编程和自引用数据结构时。
2024-12-06 09:15:50 287
原创 详解Rust异步编程
Rust的异步编程通过async/await语法和Future特性提供了一种高效的方式来处理并发任务,尤其在I/O密集型操作中表现出色。async/await异步编程模型性能高,还能支持底层编程,同时又像线程和协程那样无需过多的改变编程模型,但async模型的问题就是内部实现机制过于复杂,对于用户来说,理解和使用没有线程和协程简单。
2024-12-03 17:37:29 1053
原创 详解Rust多线程编程
Rust的多线程编程提供了一种安全、高效的方式来进行并发操作。Rust的并发性设计原则之一是确保线程安全,同时避免运行时的开销,这使得它在多线程编程上有显著的优势。Rust通过其所有权系统、类型系统和并发原语,能够在编译时避免数据竞争和内存错误,从而使并发编程变得更安全。
2024-12-01 14:16:11 701
原创 通过包和模块来组织Rust项目
Rust是一种现代的系统编程语言,具有高效性、安全性和并发性等特点。它的构建系统和包管理系统通过Cargo工具提供支持,帮助开发者管理项目、工作空间、包和模块。下面详细介绍Rust中的相关概念及其用法。
2024-11-30 14:31:59 968
原创 深入理解Rust的生命周期
Rust中的生命周期是一个核心概念,用来管理和保证内存安全,特别是在处理引用时。生命周期确保了引用在有效期内不会成为悬挂引用。这一机制避免了许多常见的内存错误,如使用已经释放的内存、数据竞争等。
2024-11-29 08:58:36 864
原创 Rust标准库中集合类型用法详解
在Rust中Vec、HashMap和HashSet是非常常用的集合类型,它们是通过标准库std::vec和std::collections模块提供的。 Vec: 用于存储动态数组,支持增、删、查、改等操作,适用于元素顺序访问。 HashMap: 存储键值对的哈希表,提供高效的查找、插入、删除操作,适用于映射关系。 HashSet: 不允许重复元素的哈希集合,支持高效的插。
2024-11-27 17:32:22 1215
原创 详解Rust泛型用法
Rust是一种系统编程语言,它拥有强大的泛型支持,泛型是Rust中用于实现代码复用和类型安全的重要特性。通过泛型程序员可以编写能够操作不同类型数据的函数、结构体、枚举和方法,同时又能确保类型安全,避免类型错误。在Rust中泛型的使用不仅能够提升代码的复用性,还能使得代码更加灵活,尤其是在实现与数据类型无关的算法时。
2024-11-26 17:35:07 1309
原创 详解Rust字符串用法
在Rust中,字符串是一个非常重要的基础类型,它与其他语言中的字符串有所不同,因为Rust对字符串的内存管理非常严格,注重性能和安全性。Rust提供了几种不同类型的字符串,最常见的有String和&str。下面详细介绍一下字符串的各种用法。
2024-11-25 18:14:47 1035
原创 细说Rust特征(trait)用法
Rust的trait是一种对类型行为的抽象,类似于其他语言中的接口(如Java的interface或C++的abstract class)。它定义了一组方法,可以被多种类型实现,从而允许在 Rust中实现多态。
2024-11-23 14:53:59 1157
原创 深入理解Rust的模式匹配
在Rust编程语言中,模式匹配是一种非常强大的功能,它允许开发者以灵活和表达性强的方式处理值。这是通过使用match语句和模式来实现的,它类似于其他语言中的switch语句,但提供了更多的灵活性和安全性。
2024-11-22 17:59:35 442
原创 详解Rust枚举类型(enum)的用法
Rust的枚举类型(enum)与传统编程语言中的枚举类型有所不同,它不仅能表示简单的离散值,还能够关联各种类型的数据。Rust的enum强大且灵活,使其在很多场景下成为一种非常有用的类型。在Rust中枚举通过enum关键字定义。每个枚举成员可以有不同的值,并且这些值不仅仅是常量,还可以是结构体、元组或者单独的值。
2024-11-21 17:33:16 1181
原创 详解Rust结构体struct用法
Rust的结构体(struct)是一种自定义的数据类型,允许开发者命名和包装多个相关的值,以形成有意义的数据组合。在Rust中结构体不仅用于数据组织,还密切结合了Rust的内存安全性和所有权模型特性,在开发系统编程过程中很有用。
2024-11-20 17:44:15 1241
原创 深入理解Rust的所有权和借用
Rust编程语言的所有权机制和借用是它的核心特性之一,旨在确保内存安全、并发安全以及避免数据竞争。由于所有权机制,不需要通过垃圾回收进行内存处理,在保证高性能的同时,还保证了内存安全。通过该机制Rust在编译时就能检查程序的内存安全问题,而不需要在运行时进行额外的开销。理解Rust的所有权和借用是掌握Rust编程的关键。下面详细介绍一下这两个概念
2024-11-19 17:43:11 1176
原创 详解Rust的数据类型和语法
Rust是一种强调安全性和性能的系统编程语言。它的设计目标之一是防止内存安全错误同时提供丰富的功能和灵活的语法。下面介绍一下Rust语言的基本数据类型和语法。
2024-11-18 17:45:15 1076
原创 系统级编程语言Rust概述
Rust是由Mozilla的工程师Graydon Hoare于2006年开始设计的一门编程语言,目的是创建一种内存安全、并发安全,并且不牺牲性能的系统级编程语言。Rust于2010年公开发布,并迅速吸引了开发者的关注。其设计灵感来自C++,通过引入所有权(Ownership)系统,解决了C/C++中常见的内存管理问题。Rust在 2015年发布了1.0版本,并开始获得广泛应用,特别是在高性能计算和WebAssembly领域。
2024-11-16 14:52:12 1231
原创 深入探讨Qt智能指针的用法
Qt的智能指针提供了方便的资源管理工具,使得内存管理更加安全和容易。QPointer适用于QObject派生类,QSharedPointer和QWeakPointer适用于共享所有权和避免循环引用,QScopedPointer和QScopedArrayPointer适用于自动管理作用域内的资源。使用这些工具可以显著减少内存泄漏和野指针的风险,是现代Qt编程中不可或缺的一部分。
2024-10-26 10:17:00 192
原创 深入理解QT多线程编程
Qt是一个跨平台的应用程序开发框架,广泛应用于图形用户界面(GUI)开发。它提供了强大的多线程支持,允许开发者在应用程序中创建和管理多个线程,从而提高应用程序的性能和响应能力。
2024-10-25 08:50:55 60
原创 深入理解Qt中的QTableView、Model与Delegate机制
在Qt中,视图(View)、模型(Model)和委托(Delegate)机制是一种非常强大的架构,它们实现了MVC(模型-视图-控制器)设计模式。这种架构分离了数据存储(模型)、数据展示(视图)和数据操作(委托),使得应用程序更加灵活和可维护。下面以QTableView为例介绍一下如何在QT中使用MVC机制。
2024-10-16 17:39:55 509
原创 QT应用中的字符编码处理
在Qt中字符编码问题是一个重要的主题,因为Qt是一个跨平台的框架,涉及到不同操作系统和字符集的兼容性。Qt提供了多种方式来处理字符串和字符编码,确保应用程序能够正确处理和显示文本数据。以下是Qt处理编码问题的一些方法。
2024-10-14 17:50:24 229
原创 Qt网络编程: 构建高效的HTTP文件下载器
在使用Qt进行HTTP下载时,通常会使用QNetworkAccessManager类来管理HTTP请求和响应。这个类提供了进行网络请求的能力,包括下载文件。
2024-10-12 17:43:56 295
原创 细说Qt的状态机框架及其用法
QStateMachine是Qt框架中用于构建状态机的一个类,它属于Qt的状态机框架(State Machine Framework)。这个框架提供了一种模型,用于设计响应不同事件(如用户输入、文件I/O或网络活动)的应用程序的行为。通过使用状态机,开发者可以将复杂的流程和行为细分为一系列的状态和转换,从而简化问题的管理和代码的维护。
2024-10-12 09:09:49 313
原创 QT通过QLocalSocket和QSharedMemory实现进程间通信
进程间通信(Inter-Process Communication, IPC)是指在不同进程之间进行数据交换和消息传递的机制。由于不同进程之间在内存和资源使用上的隔离,IPC 是操作系统提供的一种通信机制。不同的IPC机制适合不同的应用场景,选择合适的进程间通信方式取决于应用的具体需求,包括性能、数据量、数据传输的可靠性等因素。对于快速的同一主机进程间通信,QLocalSocket和QSharedMemory是不错的选择;对于跨网络的通信,QTcpSocket或QUdpSocket更为合适;
2024-10-11 08:47:48 269
原创 细说QT各种线程锁的特点和用法
在Qt框架中,提供了多种线程同步机制,包括互斥锁(Mutex)、读写锁(Read-Write Lock)、信号量(Semaphore)和条件变量(Wait Conditions)。这些机制用于处理多线程编程中的数据一致性和线程调度问题。下面详细介绍这些锁的特点和用法。
2024-10-10 17:56:45 502
原创 QT使用qss控制样式实现动态换肤
QT提供了一种非常灵活的方式来使用QSS(Qt Style Sheet,类似于 CSS 的样式表),实现界面的动态换肤功能。QSS可以改变Qt应用程序中几乎所有可视组件的外观,包括颜色、字体、边框等。下面介绍一下如何通过QSS实现动态换肤。
2024-09-29 14:55:48 347
原创 通过重写QStyle控制QT控件样式
在Qt应用程序中,QStyle类是负责所有控件(如按钮、滚动条、复选框等)的外观和行为的基类。重写QStyle允许你自定义控件的外观和感觉,实现独特的界面设计。下面介绍一下如何通过重写QStyle控制QT控件的样式
2024-09-21 11:21:23 339
原创 详解QT插件机制
Qt插件机制允许将功能模块化为独立的插件,从而在运行时动态加载和卸载这些模块。这种机制对于扩展应用程序、插件架构和动态功能添加非常有用
2024-09-17 13:57:36 494
原创 详解QT元对象系统用法
Qt的元对象系统是Qt框架中的一个核心特性,它为Qt应用程序提供了一种动态类型信息机制。这种机制支持诸如信号和槽、动态属性、类型识别等功能。以下是对Qt元对象系统的一些用法的详细介绍。
2024-09-16 10:34:49 611
原创 QT事件用法详解
Qt的事件系统是QT框架的一个核心部分,它处理所有从用户界面到应用程序的事件流。在Qt中,事件是QEvent类的实例,它封装了事件的所有信息,包括事件的类型、时间和与事件相关的数据。QEvent类是所有事件的基类,它定义了一些基本功能和一系列派生事件类型。事件类型决定了事件的性质,如按键事件、鼠标事件、定时器事件等。
2024-09-13 17:44:18 339
原创 彻底解决Linux-C++项目编译过程中的-fPIC问题
在Linux系统中进行项目编译时遇到-fPIC错误,通常关联于动态链接库(Shared Libraries)的编译。这里的-fPIC是一个编译选项,意思是"Position Independent Code",即位置无关代码。这种代码可以在任何内存地址运行,这对于动态库来说是必需的,因为动态库在被不同程序加载时,加载地址可能会变化。
2024-09-11 17:59:31 413
原创 Linux解决库编译及库依赖问题的方法和常用工具
在Linux系统中,处理库编译及依赖问题是开发和系统维护中常见的任务。下面是几种常用的方法和工具来解决这些问题
2024-09-09 08:44:00 828
原创 使用CMake组织构建QT项目
在使用CMake来组织和构建Qt项目时,需要注意一系列的细节以确保项目的顺利编译和运行。这些细节涉及确保Qt和CMake之间的兼容性、处理UI文件和资源、以及如何设置跨平台编译等。
2024-09-01 09:40:31 859
原创 CMake基本语法大全
CMake是一个管理源代码构建的工具。现在CMake用来生成现代的构建系统,包括Visual Studio和XCode等等。通过CMake编译可以生成Visual Studio和XCode项目文件。CMake广泛用于C/C++语言项目,但它也适用于其它语言项目。
2024-08-30 17:43:34 1099
原创 Debian常用包管理命令用法详解
apt是一个高级工具,自动处理软件包依赖,能够从软件仓库中下载和安装软件包,进行更新和升级。apt依赖dpkg来实际执行软件包的安装和卸载。在Debian和Ubuntu及其衍生发行版中,apt-get 和 apt-cache 是两个常用的命令行工具,用于管理和查询软件包。apt是Debian中用于管理软件包的高级工具,能够处理依赖关系、更新软件包列表、安装、升级和卸载软件包等操作。dpkg-source 命令是用于处理Debian源码软件包的工具,主要用于构建和管理.dsc文件以及源码包。
2024-08-26 17:56:18 555
原创 详解python基本语法
Python 是一种广泛使用的高级编程语言,以其清晰的语法和代码可读性而闻名。它由 Guido van Rossum 于 1991 年首次发布,并支持多种编程范式,包括面向对象、命令式、功能性和过程式编程。这里介绍一下python的基本语法。
2024-07-16 18:07:56 1001
原创 QT实现WebSocket通信
在Qt5中实现WebSocket通信可以通过使用QtWebSockets模块来实现。这个模块提供了一个WebSocket客户端和服务器的实现,可以很方便地在你的应用程序中集成WebSocket功能。
2024-07-10 17:56:47 398
原创 QT操作各类数据库用法详解
Qt提供了一个名为QtSQL模块的强大组件, 使得在Qt应用程序中连接和操作多种类型的数据库变得相对简单。Qt SQL模块支持多种数据库系统,包括但不限于SQLite、MySQL、 PostgreSQL、Oracle和Microsoft SQL Server等。下面介绍一下使用QT在处理数据库操作的时候的一些技巧。
2024-07-05 17:58:40 260
原创 细说QT程序高分屏适配
在Qt中实现高分辨率屏幕的适配,主要涉及对界面元素、字体大小和布局进行优化,以保证应用程序在不同分辨率和设备像素比率(DPI)的显示屏上均能正确显示。下面是一些关键步骤和技巧,用于在Qt应用程序中支持高分辨率屏幕.
2024-07-04 17:44:09 844
原创 QT工程项目配置用法详解
QT的pro文件是一个项目配置文件,用于定义项目中的源文件、库依赖、编译设置等。这个文件被qmake工具使用,以生成实际的构建文件,例如Makefile。这里介绍一下工程配置文件的用法
2024-07-02 13:17:34 382
SoundTouch 源码 + VS2015/VS2017/MinGW 静态库
2024-02-23
libvncserver 动态库(包含mips架构、arm架构、x86架构)
2023-08-18
windows版本的ptlib2_10_9_4静态库采用VS2015编译包含64位和32位
2022-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人