自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 typedef定义函数指针

typedef void (*名称)(int xx)声明的函数名称在返回值和参数表中间。

2024-09-16 16:20:12 80

原创 当网络适配器的Wireless出现感叹号

原因是因为电脑静电的问题。

2024-09-01 21:45:28 259

原创 Qt的tr作用

**Qt 的翻译工具**:为了使应用程序支持多种语言,你需要创建 `.ts` 文件(翻译源文件),然后用实际的翻译填充它们。Qt 提供了命令行工具 `lupdate` 来从源代码中提取待翻译的字符串到 `.ts` 文件,以及 `lrelease` 将翻译后的 `.ts` 文件转换为 `.qm` 文件,`.qm` 文件可以在运行时加载以提供翻译。- **翻译标记**:`tr()` 标记一个字符串以供翻译。- **惰性翻译**:在运行时,`tr()` 会根据用户的语言设置返回正确的翻译版本。

2024-07-29 22:18:15 275

原创 Qt遇到qt自身组件找不到

比如在使用qtcharts的时候,找不到。在cmakelist中添加。

2024-07-25 21:18:24 640 1

原创 QtCMake工程提升类后找不到头文件

1.原因:出现问题的原因是Qt creator通过ui文件生成的程序和存放头文件的目录不在一起,但是生成的程序里会在生成目录下找头文件,所以肯定是找不到的。在CMakelist,添加这一句。

2024-07-21 17:04:27 503

原创 QT开发CmakeLists文件详解

链接:

2024-07-21 16:44:22 247

原创 框架设计MVVM

2.view包含viewmodel,通过驱动viewmodel去控制model的数据和业务逻辑。1.viewmodel 包含model。

2024-07-16 22:56:44 211

原创 框架设计MVP

3.view包含presenter,view通过presenter反向处理逻辑。2.和MVP不同的是View和Model之间不进行交互。1.presenter里面包含view和model。

2024-07-16 22:25:07 395

原创 框架设计MVC

1.用户通过界面操作,传输到control,control可以直接去处理View,或者通过模型处理业务逻辑,然后将数据传输给view。2.control包含了model和view成员。

2024-07-16 21:43:57 516

原创 pugixml C++ 开发者处理 XML 数据的理想选择之一

pugixml 以其高效、易用、全面的功能和良好的跨平台能力成为 C++ 开发者处理 XML 数据的理想选择之一。

2024-04-12 17:45:23 416

原创 C++ 检测文本文件编码格式

3.检查ANSI = 0,Unicode= 1,UTF8,3.检查是否是UTF8格式。

2024-04-12 17:37:53 513

原创 C++ linked_hash_map按顺序保存的容器

HashMap中不存在保存顺序的机制。而在LinkedHashMap中可以保持两种顺序,分别是插入顺序和访问顺序,这个是可以在LinkedHashMap的初始化方法中进行指定的。相对于访问顺序,按照插入顺序进行编排被使用到的场景更多一些,所以默认是按照插入顺序进行编排。链接:(没心情看原理,直接使用)

2024-04-10 17:18:57 441

原创 Qt 多线程QThread的四种形式

重点:1.互斥量:QMutex配套使用,lock(),unlock(),如果一个线程准备读取另一个线程数据时候采用tryLock()去锁定互斥量,保证数据完整性。QMutexLocker简化版的QMutex,在范围区域内使用。2.读写锁:QReadWriteLock配套使用,lockForWrite(),lockForRead(),它允许多个线程以只读方式同步访问资源,但只要有一个线程以写入方式访问资源,其他线程就必须等待,直到写操作完成。

2024-03-28 23:02:52 636

原创 Qt 三维可视化模块Data Visualization理解

2.QWindow分别为三维柱状图,三维散点图,三维曲面。QAbstract3DSeries去存储QWindow的数据信息,通过QBarDataProxy去增删改查数据。1.Data Visualization三维图形不能在一般的QWidget组件上显示,需要通过QWidget作为承载容器使用。

2024-03-24 20:42:37 274 1

原创 MFC 自定义分发消息方法

2.在你需要发送和接收该消息的类中,首先注册这个自定义消息。一般在窗口类(如CWnd派生类)的OnInitDialog、OnCreate或其他初始化函数中进行。#define WM_MY_CUSTOM_MESSAGE (WM_USER + 101) // 自定义消息ID。1.创建一个专门自定义消息的头文件 constValue.h。3. 实现自定义消息处理器函数。当消息触发时,此函数会被调用。4. 发送自定义消息。你可以在程序的任何地方通过。函数向拥有该消息处理器的对象发送消息。

2024-03-20 19:59:26 449

原创 分辨率相关知识点

2K: 2560x1440 (720p的两倍) 2K的定义是一般认为只要水平方向上的像素接近2000就可以被称作2K分辨率。3.通常指的分辨率一般采用的是消费电子领域和电视广播行业采用的UHD(Ultra High Definition)标准。1.高清电视系统采用的标准分辨率之一,其宽高比同样为16:9(1.77:1)。4k(超高清):3840x2160 (1080p的两倍)1080P(全高清):1920x1080。720P(高清) : 1280x720。

2024-03-20 10:32:30 230

原创 QtCreate cmake 和qmake 使用调用动态库流程

3.cmakelist.txt中的文件路径并未变化。2.只是在include下放置所需的dll。1.流程和静态库一样。

2024-03-17 16:14:51 275

原创 QtCreate cmake 和qmake 使用调用静态库流程

1.无论是qmake还是cmake生成的lib,都可以直接给另一个cmake和qmake使用。重点注意debug生成的对应debug,releaase生成的对应release。2.cmake和qmake区别在于qmake有添加库,cmake没有添加库这个功能,只能手动添加。3.cmake添加库,需要在CmakeLists.txt中添加信息。

2024-03-17 15:51:33 479

原创 动态库和静态库的新理解

1.静态库中包含的是全部的源码信息,而动态库dll里面包含的是所需要的部分源码信息。2.静态库是将被调用的函数和数据复制一份到所使用的模块,而动态库只需要实现一次就行。比如两个模块使用了静态库里面的函数,这两个模块都需要复制两份内容到使用的模块内。2.一个项目要引用另一个项目可以直接使用lib库,并不需要导出,但需要类的头文件。导出要调用的类和函数,然后在要使用的项目附加依赖性,再附加上那些类和函数的头文件位置。静态库和导入库是两个概念,一个是传统意义上的静态库,另一个是配合dll使用的导入库。

2024-03-16 15:10:44 390

原创 MinGW的作用

同理用mingw开发的程序移植到Linux上,对于大型项目,可能需要对源代码进行调整,去除对Windows API的依赖,并添加对Linux API的支持,然后通过交叉编译工具链(如 mingw-w64-for-linux-x86_64-gcc)在Linux系统上编译出Linux版本的程序。项目是为了在Linux系统上编译生成能够在Windows系统上运行的二进制文件而设计的,它提供了一套交叉编译工具,允许开发者在Linux环境下编译适用于Windows平台的应用程序。Linux下开发的版本可以通过。

2024-03-13 10:50:55 768

原创 Qt Q_PROPERTY理解

2.Q_PROPERTY 提供了一种方便的方式来定义和使用 Qt 对象的属性,使得属性在运行时可以更容易地被外部代码查询和修改。3.主要就是给外部可以直接调用,外部可以不过A.property(...)方法直接调用类的函数。1.很多文章写的乱七八糟的,简单易懂的用很多术语解释让人看的头疼。4.这篇文章非常清晰。

2024-03-10 20:15:02 217

原创 Qt QImage和QPixmap区别

2.QImage可以读取BMP、JPG、PNG 等格式的图片件,存储图像中所有像素的颜色数据。QImage的接口函数可以实现图像的缩放、旋转、镜翻转等简单处理,可以转换颜色数据格式。因为QImage可以读写图像中每个像素的颜色数掘所以结合图像处理算法,我们可以对图像进行各种处理,例如调整亮度、调整对比度、模糊处理等。1.QPixmap主要用于在界面上显示图像,它可以对图像进行缩放,可以加载BMP、JPG、PNG等格式的图片文件,然后在 OLabel组件上显示图像。

2024-03-10 19:59:43 556

原创 Qt 绘制中的视口(setViewport)和窗口(setWindow)

2.先根据绘图设备的物理坐标系的矩形位置,设置视图视口setViewport,然后在以视口为区域去设置窗口的左上角位置和长宽矩形区域,视口的左上角为0,0点,窗口根据计算将视口的左上角作为窗口坐标系左上角的位置。1.绘制(QPainter)可以设置视口,视口下设置窗口,而绘制的构件是以窗口为坐标系进行绘画。

2024-03-07 21:25:46 748

原创 Qt QPainter的使用方法

2.QPainter通常涉及到设置画笔、设置画刷、绘图(QPen、QBrush、drawxx)三个流程。1.QPainter在QWidget窗口的paintEvent中使用。

2024-03-06 21:28:37 470

原创 Qt QSqlRelationalTableModel关系数据表模型的使用

以studInfo作为QTableView的模型,其中departID和majorId存储的是编码,因为使用QSqlRelationalTableModel模型,就可以将dedpartments表中对应departID编码的名称和majors表中对应的majorId编码的名称显示出来。QSqlRelationalTableModel可以关联多个数据表。利用setRelation的方法,关联两个对应的表格。

2024-03-05 23:27:09 569 1

原创 Qt QSqlQuery的使用方法

1.QSqlQuery可以进行sql语句的增删改查操作。不传递参数,表示使用默认的数据库进行链接。2.QSqlQuery由以下的构造函数。sql的bingValue方式有两种。通过输入Id,获取特定的sql数据。

2024-03-05 21:43:50 694

原创 程序项目打包发布方法,采用InstallShield软件

2.项目创建在D盘,三方库是BCG,放E盘下,需要的头文件放include,lib文件对应Debug和Release。将快捷名称通过 Installation Designer设计器进行将名称改成简单的,它们提示这样的名称是错误的。这边主要将几个打包出现的问题。我安装的是2021版本,选择中文发布,结果出来的版本还是英文。1.使用chatgpt生成一个配置环境的文件,创建一个环境变量,项目中使用。步骤一:创建一个依赖三方库+配置环境的bat文件的项目。3.平台发布的问题,这是本身项目中自带的平台编译问题。

2024-03-02 16:28:06 481

原创 Qt SQLite的创建和使用

3.QTableView和QSqltableModedl、QItemSelectionModel关系。1.SQLite创建数据库内容方法。2.和数据库进行链接方法。

2024-02-28 20:58:14 705

原创 Qt 使用windows注册表保存设置

表示setting指向注册表目录HKEY_CURRENT_USER/Software/WWB-Qt/samp7_5。1.在构造函数中初始化,确认注册表中的一个目录。只要使用下面语句定义变量setting。

2024-02-25 21:14:14 475

原创 Qt 使用MD5给数据加密方法

1.通常在存储密码的时候需要对数据进行加密,通常采用Md5进行加密。

2024-02-25 14:38:39 1056

原创 Qt 文本框QplainTextEdit读取文本文件内容并显示方法

【代码】Qt 文本框QplainTextEdit读取文本文件内容并显示方法。

2024-02-24 21:34:44 1319

原创 Qt MDI应用方法:QMdiArea和QMdiSubWindows类

1.使用MDI应用程序,需要在主窗口的工作区放置一个QMdiArea组件。2.MDI有两个显示模式:Tab多页显示模式和子窗口显示模式。子窗口显示模式有两种显示方法:窗口级联展开和平铺展开。并将QMdiArea组件设置成中心窗口。

2024-02-24 21:26:51 226

原创 Qt 工具条的ToolBar创建方法

链接:Qt creator中操作QAction加入QToolBar_qt qaction-CSDN博客

2024-02-23 17:31:20 267

原创 断点调试野指针判断方法

1.当出现指针变量无法读取内存时候,则表示当前指针对象早就被析构,现在的指针即是一个野指针。

2024-01-24 12:38:08 459

原创 C++11 委派构造用法

(1)如果继承它的子类构造不需要参数,则它直接继承基类的构造,节省代码空间。(2)如果没有代码使用基类的构造函数,它不就会产生多余的代码。如果继承的基类的构造函数有自身的参数,这就不太适用。1.委派构造优势在于。

2023-12-20 11:52:34 402

原创 模板调用类中函数方法

【代码】模板调用类中函数方法。

2023-12-14 20:31:52 125

原创 类做结构体的利与弊

在C++中,类和结构体都可以用来定义自定义数据类型,它们的基本语法非常相似。实际上,在C++中,主要的区别在于默认的成员访问权限(在类中默认为私有,而在结构体中默认为公共)。因此,你可以使用类来模拟结构体,反之亦然。然而,使用类或结构体取决于你的设计需求和风格偏好。

2023-11-14 11:20:07 209

原创 function函数指针和lamada的[&]和[=]注意事项

lamda传入引用&,导致作用域消失,最终报错。1.function对象存储函数指针。2.lamada表达式&和=捕捉的方式。在工作的过程中,lamda表达式的。lamda传入赋值=,正确反馈。

2023-10-30 20:31:48 152

原创 C++ 委托妙用

1.利用观察者,注册需要处理的用户(Test)(右值处理方法也是妙处)2.用户自身采用模板去调用观察者的类(方法甚妙)

2023-10-27 10:44:57 129

原创 C++17递归锁recursive_mutex

2.递归锁允许同一线程在已经获得锁的情况下再次获得锁,这对于递归函数或嵌套函数非常有用。不过,要小心使用递归锁,以避免死锁和性能问题。通常,只有在确实需要在递归调用中再次获得锁时才使用递归锁。来创建递归锁(recursive lock),它是C++标准库提供的一种多线程同步机制。递归锁允许同一线程多次获得锁,而不会造成死锁。

2023-10-20 16:44:28 311

MFC的resource资源重排和整理解决方法

MFC的resource资源重排和整理解决方法

2023-08-04

空空如也

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

TA关注的人

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