自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

肩上风骋的博客

初次编写,为了方便自己以后查阅,同时也希望所见之人提出宝贵意见,共同探讨

  • 博客(295)
  • 收藏
  • 关注

原创 Linux常用指令汇总

Linux常用指令

2024-04-16 12:06:57 555

原创 Linux查看进程

LINUX查看进程。

2024-04-15 11:52:21 989

原创 配置QtCreator能加载自定义插件的环境

生成的自定义插件能在QtCreator的设计器中加载,需要满足当前使用的QtCreator的编译时所需的Qt库和编译器。本文旨在如何配置环境使其满足能在QtCreator的设计器中加载插件。

2024-04-12 12:00:33 584

原创 用于扩展Qt自身的插件(下)

QtCreator的设计器中加载自定义的插件。

2024-04-12 11:12:08 1206 1

原创 用于扩展Qt本身的插件(上)

默认是选择包含项目的,需手动勾选创建代码框架,会生成对应的下图中所示的系列文件名,此时可在图标文件项点击后面的浏览按钮选择自己要添加的图标图片。后面的步骤就不用说了,项目名为StyleWindow,路径采用默认的就行,基类为QWidget,采用默认声的Widget就行,不要勾选ui,该项目不用ui界面,一路操作,直到完成。2. 扩展Qt自身,同时需要在QtCreator的设计器中加载,类似于自定义控件,可像Qt的基本控件那般在设计器中直接展示,拖拽使用,具有属性,信号槽等。之后点击下一步按钮。

2024-04-11 17:40:52 961

原创 Qt创建基于应用程序的插件

插件是一种用于应用程序功能扩展和增强,且按照特定规范编写的应用程序接口的程序。

2024-04-11 11:41:00 1172

原创 麒麟系统下安装qt5.9.1后不能输入中文

在虚拟机上安装麒麟系统后,安装了qt5.9.1,只能输入英文和数字不能输入中文注释,编译的程序也不能输入中文。

2024-04-08 18:42:16 1059

原创 C++面试题

引言最近碰到几道很有必要一提的试题,这里记录一下,主要是关于指针的一些理解。

2024-04-08 18:38:07 409

原创 git使用中可以忽略但是又必须知道的指令

记录几种不同场景下git的使用。

2024-04-08 18:33:34 870

原创 qt自定义窗口在拖动过程中出现抖动且拖动后位置看上去不对

将之前使用position()获取坐标位置的地方改为globalPos(),且将之前QPointF类型的变量 m_pressPos与m_topLeftPos改为QPoint 类型。于是即使上述的globalPos()可以解决原来的窗口拖动时的抖动和窗口不能及时跟随鼠标移动问题,但还是使用globalPosition()来实现一下看看吧。经实践所知,使用pos()与position()获得的鼠标位置,在窗口拖动中都出现抖动或者窗口不能及时跟随鼠标移动的现象。Qt6让使用position()代替pos()。

2024-04-07 16:48:50 832

原创 qt样式表使用中的坑

都是针对控件m_Context的样式设置,后面的样式设置覆盖了前面的样式设置。若是对于单个控件的样式改变,使用this->setStyleSheet(this->styleSheet() +strStyle),设置的样式都不会生效。下面是部分实现的代码。其中主要涉及前期设置样式后,后期通过调用一些可以更改样式的对外接口来更改原有的样式,设置为新的样式的代码。对比代码中想要实现的效果,左上角半径为0,右上角半径为5,左下角半径为5,左下角半径为20,标题栏背景色为红色,文本窗背景色为灰色,达到了想要的效果。

2024-03-28 16:05:51 742

原创 C++中实现String类

本文主要记录自己实现一个String类中的部分功能。

2024-03-12 16:48:00 416

原创 C++中类模板的定义和使用

类模板的声明和定义一般都是放在同一个文件中,将其文件后缀名改为hpp。

2024-03-11 19:18:11 520

原创 C++实现引用计数(二)

对于共享指针shared_ptr的原理:每当有一个指针指向这块内存,引用计数的值加一,每当一个指针不再指向这块内存,引用计数的值减一,知道引用计数的值减为0,则释放这块内存。上述引用计数实现时,需要注意的是,对于计数所用的加计数/减计数变量,以及指向共有的内存所用的指针需要作为一个共有的部分,可以被多个不同的智能指针都访问到,且不能直接作为引用计数类的直接数据成员。直接打开vs2019,创建基于C++的Windows空项目,添加一个主函数类,添加一个引用计数需要的头文件hpp。

2024-03-11 17:51:40 387

原创 C++中boost库的安装及使用(Windows)

本文提供了指定版本的IDE下编译生成的boost库可供下载,直接使用。外加如何在vs2019安装使用Boost的方法说明

2024-02-29 17:10:22 486

原创 C++多线程通信

多线程通信与多线程同步很多时候容易被人弄混,本文旨在指出两者区别,同时通过简单示例介绍消息队列。

2024-02-27 14:54:21 1043

原创 C++中constexpr

在C++中,constexpr是一个类型说明符,它用于指定一个变量或函数是“常量表达式”。constexpr的主要目的是。当一个变量被声明为constexpr时,它的值必须在编译时就可以确定。这通常意味着它必须被初始化为一个常量表达式。

2024-02-26 15:22:22 467

原创 C++中atomic的使用

本文只要讲述C++11中atomic的使用,并通过示例来进一步的说明。atomic在c++11中被引入,作为一种原子操作,之所以是原子操作,是因为其能保证操作过程不会被打断或终止,保证了被操作数据的安全性。原子操作是线程安全的。尤其在多线程同步中,常用于基本类型共享数据的保护。原子操作:指的是不可被中断的一个或一系列操作,这些操作要么全部执行成功,要么全部不执行。

2024-02-26 14:43:40 884

原创 C++线程同步(下)

本文主要承接之前的多线程同步(上),来记录剩下的几种同步方式。

2024-02-26 10:14:44 858

原创 C++种pair的初始化及与unordered_map的区别

本文旨在介绍pair初始化,同时简述pair与unordered_map的区别。

2024-02-23 16:18:16 381

原创 C++多线程同步(上)

可以不用,是因为当3个读线程都获取共享锁后,接下来只能是3个读线程中的一个线程可以获取独占锁,而当获取独占锁的读线程执行完for循环输出后,就会退出线程处理函数,同时独占锁的生命周期结束,g_mutex被释放,剩余的2个度线程中的一个就会获取独占锁继续向下执行,而另一个继续阻塞等待锁的释放。IsReady) {…多个读线程一起读的时候,就会有多个读线程之间的竞争,会出现类似于本应该一个读线程需要读一个容器中的多个元素,但当它读了第一个元素后,可能另一个读线程就抢着读了,不能保证每个读线程读数据时的连续性。

2024-02-22 11:44:48 1412

原创 C++中const的使用

在开发中const常用来修饰一些变量,像:函数的形参,函数返回值,指针.本文就const使用进行了总结。

2024-02-21 14:23:20 750

原创 C++中线程的创建

当编写的程序在运行时,出现界面卡顿,或者当程序处理一些比较耗时的计算时,将所有的操作的都放在主线程,就显得有些不妥,这时若是能将一部分的计算放在子线程中,便可以提高软件的性能,同时也可以提升用户的体验。上面提到使用函数指针作为创建线程的参数传入,那个例子种,线程处理函数是没有参数的。这里提到的线程处理函数是有参的线程处理函数,创建线程时将函数指针传入,同时要传入相应的实参。在学习C++的过程中,线程的使用作为一个非常重要的部分,也是在复杂项目中课有效提升程序的性能的手段,所以必须会。

2024-02-20 20:22:07 363

原创 C++中自定义类型使用标准输入cin输出cout

当自己定义的数据为一些复杂数据,不再为基本数据类型,这时候要使用cout输出这些数据,就需要重载输出运算符

2024-02-19 14:53:10 371

原创 获取部分STL容器中最后一个元素

有时候开发过程中,想直接获取STL容器中最后一个元素,这里提供了一些容器直接获取最后一个元素的方法。本篇内容较为简单,酌情阅读。示例如下,涉及的容器的头文件#include:array示例如下,涉及的容器的头文件#include:list示例如下,涉及到的容器的头文件#includequeue示例如下,涉及到的容器的头文件#includeset示例如下,涉及到容器的头文件#include:map示例如下,涉及到容器的头文件#include<unordered_map>以上示例较为简单,

2024-01-31 11:41:49 366

原创 string字符串查找指定字符,删除,追加,反转及比较

string字符串常用且易被忽略的操作:删除,查找,反转,追加

2024-01-19 11:22:00 1132

原创 C++中map按照从大到小的顺序存储元素

map是C++标准容器中的一种,也是一种关联容器,用于存储键值对,内部使用红黑树实现,可以快速查找和插入。其存储的元素默认按照键的大小从小到大的递增。

2024-01-16 21:27:03 1264 1

原创 qt绘制生成PDF文件

之前做项目的时候,需要自己生成一个pdf文件,好久之前保存的草稿,今天就把它发表一下吧,留着自己以后有需要的时候在来查阅。

2024-01-16 15:30:30 768 1

原创 C++设计模式之——命令模式

命令模式是一种行为型设计模式,它允许将请求封装为一个对象,从而使得可以参数化客户端请求、将请求排队或者记录请求日志,以及支持可撤销的操作。总的来说,命令模式的应用场景主要在于解耦请求与实现,封装接收方具体命令的实现细节,使得请求方的代码架构稳定,具备良好的扩展性。2.创建具体命令类(Concrete Command):继承自抽象命令类,实现具体的命令操作,同时持有一个命令接收者对象。在C++中,命令模式通常由一个抽象命令类、具体命令类、命令接收者类和调用者类组成。

2023-12-18 22:12:31 1245

原创 C++设计模式之——外观模式

外观模式本质是提供一个外观类,将一些子类进行了封装,提供了统一对外可供访问的接口。降低了各个子类之间的耦合性,隐匿了子类的具体实现。

2023-12-18 18:41:26 653

原创 C++设计模式——装饰器模式

装饰器设计模式其本质上还是使用多态的原理,提供了一种可扩展功能的设计模式。

2023-12-18 18:18:41 1073

原创 C++设计模式之策略模式

策略模式是一种行为设计模式。在策略模式中,可以创建一些独立的类来封装不同的算法,每一个类封装一个具体的算法,每一个封装算法的类叫做策略(Strategy),为了保证这些策略的一致性,一般会用一个接口或者抽象类做统一的规定,所有的策略类都需要遵守这个接口或者抽象类规定的行为。同时定义一个 Context 类来管理算法的使用,通过参数将策略类传递给Context类,运行时动态的决定调用那个具体的算法。策略模式实际上就是一种多态的应用。

2023-11-24 22:52:03 612

原创 C++设计模式之工厂模式(下)——抽象工厂模式

抽象工厂模式是一种创建型设计模式,它提供了一种封装一组相关或相互依赖对象的方式,而无需指定它们具体的类。它允许客户端使用抽象接口来创建一系列相关的对象,而不必关心其实际的实现细节。在抽象工厂模式中,存在一个抽象工厂类,该类定义了一组创建对象的方法,这些方法可以创建一系列相关的对象,包括产品对象和工厂对象。由于这些对象都是通过一个抽象接口来创建的,因此它们的具体实现可以被隐藏在实际工厂类的后面。客户端只需要使用抽象工厂类来创建对象,而无需关心它们的实际实现。

2023-11-23 22:14:37 449

原创 C++设计模式之工厂模式(中)——工厂模式

工厂模式先抽象出一个抽象工厂,再子类化抽象工厂,将对应产品对象的创建放在子类工厂中。也就是一个子工厂负责生产一种产品,即具体的产品对象由对应的具体的子工厂创建。当产品种类增加,只需增加新的子工厂来生产,遵守开放封闭原则。

2023-11-23 19:59:06 374

原创 C++设计模式之工厂模式(上)——简单工厂模式

工厂模式属于一种创建型设计模式。其可以分为简单工厂模式,工厂模式和抽象工厂模式。工厂模式分为上、中、下三篇,本篇主要介绍简单工厂模式。简单工厂模式可以理解为一个工厂根据产品的种类生产多种不同的产品。简单工厂模式只有一个工厂类,工厂类中提供一个工厂函数,用于根据产品种类生产各种不同产品。

2023-11-23 17:35:24 512

原创 C++设计模式——单例模式

单例设计模式

2023-11-20 21:41:48 587

原创 C++实现一个链栈

链栈不名思意,就是既具有链表的特性,又具有栈的特性。链栈中的元素由指针域和数据域组成,通过指针指向下一个元素;2.链栈同时又具有栈的特性,先进后出。

2023-08-08 16:56:15 254

原创 C++实现两个字符串交替组合成一个字符串

这道题来自力扣,给出两个字符串,将两个字符串交替着组合成一个字符串。

2023-07-06 17:09:30 631

原创 使用vtk在一个窗口中创建多个几何体

该示例为官网上的例子。在一个窗口中创建了多个不同的几何体。

2023-07-03 15:44:56 224

原创 使用vtk创建设置了面的颜色的立方体

该示例为官网上的例子。创建了一个每个面被设置相同颜色的立方体。

2023-06-30 18:05:37 216

qt自定义的电池插件可在QtCreator的设计器中加载(Qt6.6.0 MSVC2019 64bit)

qt自定义的电池插件可在QtCreator的设计器中加载(Qt6.6.0 MSVC2019 64bit)

2024-04-12

C++中boost库的安装及使用(Windows) Boost-1.78.0 已经编译生成的库和头文件,及源码,使用文档等

Boost_1.78.0 已经编译生成的库和头文件,及源码,使用文档等。下载后可以直接在项目中配置属性(visual studio 2019)。

2024-02-29

vtk9.2.0源码下载

vtk9.2.0源码下载

2023-06-07

空空如也

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

TA关注的人

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