自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(89)
  • 资源 (2)
  • 收藏
  • 关注

原创 QMap 多重嵌套

QMap 多层嵌套,如何修改最内层的数据

2023-10-16 14:46:06 357

原创 qt中的对象树与生命期

qt对象树,包括qt对象是如果通过QOBject 对象按次序析构的

2023-10-16 14:41:59 372

原创 Qt元对象系统

qt的元对象系统以及信号和槽

2023-09-24 16:39:24 294

原创 常用sql语句

常用的sql 语句 关于表结构的,包括新增表,删表,增加字段,删减字段,增加记录

2023-09-22 14:47:51 101

原创 std::string和QString的区别以及互转

std::string 和QString的区别

2023-09-21 14:09:44 1849

原创 Linux 使用python写一个防恶意篡改的脚本

功能:使用python脚本,利用文件的MD5值,判断文件是否进行修改,达到防恶意篡改文件

2023-09-20 08:58:15 445

原创 QLineEdit 使用QValidator 限制各种输入

【代码】QLineEdit 使用QValidator 限制各种输入。

2023-09-16 15:37:06 2848

原创 QT中正则表达式过滤时间以及string编码转换

【代码】QT中正则表达式过滤时间以及string编码转换。

2023-06-02 14:44:14 181

原创 qt connect函数_Qt元编程之动态监听所有信号

这段代码会动态监听所有QObject对象的所有信号,并在信号触发时输出一条调试信息。注意,这种做法可能会导致性能问题,因为会监听大量的信号,建议谨慎使用。Qt中的connect函数用于连接信号和槽,实现对象之间的通信。1.获取Qt应用程序中所有的QObject对象,可以使用QObject::findChildren函数来获取。遍历metaObject中的所有信号,使用QObject::connect函数将其与一个槽函数连接起来。遍历所有的QObject对象,获取其metaObject。

2023-05-28 11:13:04 340

原创 qt 中tablewidget 分页加载20W甚至更多数据

qt中的tablewidget 数据过多时,加载大量数据会很卡,通过分页的方式解决这一问题。

2023-05-27 11:27:06 1021

原创 Qt常用的经验技巧

修改代码增加一些qt特性相关的特别是moc 相关的宏,最好重新qmake一下。以便生成相应的moc文件。

2023-05-27 11:07:23 167

原创 Qt mainwindow

主窗口的最上面是 Window Title,也就是标题栏,通常用于显示标题和控制按钮,比如最大化、最小化和关闭等。如果你不喜欢本地样式,比如 QQ 这种,它其实是自己将标题栏绘制出来,这种技术称为 DirectUI,也就是无句柄绘制,这不在本文的讨论范畴。当我们鼠标滑过某些组件时,可以在状态栏显示某些信息,比如浏览器中,鼠标滑过带有链接的文字,你会在底部看到链接的实际 URL。所谓停靠窗口,就像 Photoshop 的工具箱一样,可以停靠在主窗口的四周,也可以浮动显示。

2023-05-20 16:46:52 386

原创 qt模块简介

Qt 5 模块分为 Essentials Modules 和 Add-on Modules 两部分。前者是基础模块,在所有平台上都可用;后者是扩展模块,建立在基础模块的基础之上,在能够运行 Qt 的平台之上可以酌情引入。

2023-05-20 15:31:57 1311

翻译 一QT简介

豆子前辈写的不错 ,直接摘过来了Qt 是一个著名的 C++ 应用程序框架。你并不能说它只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件。使用 Qt,在一定程度上你获得的是一个“一站式”的解决方案:不再需要研究 STL,不再需要 C++ 的,不再需要到处去找解析 XML、连接数据库、访问网络的各种第三方库,因为 Qt 自己内置了这些技术。Qt 是一个跨平台的框架。

2023-05-20 11:15:38 227

原创 QT4与QT5兼容问题

qt4和qt5的兼容问题

2023-04-17 16:33:03 1553

原创 LeetCode__最长回文子串

最长回文子串 C/C++

2022-08-11 11:30:48 118

原创 数据结构__链表

链表的基本底层实现

2022-08-11 10:11:23 273

原创 LeetCode__正序数组的 中位数

正序数组的中位数

2022-08-11 10:09:15 147

原创 LeetCode__无重复字符的最长子串

无重复字符的最长子串

2022-08-11 10:04:52 1332

原创 LeetCode__两数相加

LeetCode热门100 两数相加

2022-08-09 19:12:40 143

原创 数据结构__数组

数据结构——Array的底层简单实现

2022-08-09 18:54:03 175

原创 LeetCode__两数之和

LeetCode-热门100-两数之和

2022-08-09 09:48:17 72

原创 算法-斐波那契数列

兔子数列的几种解法

2022-08-08 16:00:03 112

原创 linux内存管理

内存管理一、相关概念● 虚拟内存:内存管理的一种技术,它使得应用程序认为它拥有连续的可用内存(一个连续完整的地址空间);● 物理内存:相对于虚拟内存而言,指通过物理内存条而获得的内存空间;● 页表:一个进程的虚拟地址到物理地址的一个映射;● 页框:物理内存管理的基本单位,每个内存分区由大量的页框组成;内核以 struct page来描述页框;页框由很多属性,如页框的状态、用途、是否被分配等;● 内存节点:主要依据 CPU 访问代价的不同而划分,分为不同的分区;内核以 struct zone来

2022-04-02 17:39:46 6704 1

原创 QDBus和Glib-dbus使用

qt中使用dbus,服务端注册dbus服务,消息,客户端调用服务端的类,接口,以及属性。附有源码以及demo程序

2021-12-13 17:52:46 1431

原创 Qml中调用C++

Qml中调用C++方法一1. 写一个C++类2. 在需要使用的地方注册该类3. qml 中调用在qml中调用C++类步骤如下:方法一1. 写一个C++类写一个类,继承自QObject。将类中需要qml调用的方法,用前置的Q_INVOKABLE声明。属性用 Q_PROPERTY注册。代码如下://testsum.h#ifndef TESTS,LMLLM,L. UM_H#define TESTSUM_H#include <QObject>//继承Q_OBJECTclass T

2021-11-22 22:56:18 2488

转载 TCP/IP

转载自:https://blog.csdn.net/wuzhiwei549/article/details/105965493计算机网路体系结构分层tcp/iptcp/ip 具体含义IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都属于 TCP/IP 协议。他们与 TCP 或 IP 的关系紧密,是互联网必不可少的组成部分。TCP/IP 一词泛指这些协议,因此,有时也称 TCP/IP 为网际协议群。互联网进行通信时,需要相应的网络协议,TCP/IP 原本就是

2021-05-27 14:56:37 83

原创 设计模式——(十七)单例模式

背景:MDI程序,点一个工具箱启动一个窗口,点几次,启动几个。经典修改:判断是否为NULL,若为空则new。若在菜单栏也有工具箱,则重复点工具箱的代码。若启动工具箱,把工具箱关闭,在点启动按钮,则工具箱窗口不见了。原因:关闭工具箱,实例没有NULL,而是disposed。可以在在判断条件加isdisposed的判断。若有五处修改的地方,则都要修改。1.正确的做法;实例与否应该由工具箱自己判断。所有类的构造方法,你不提供,系统提供默认的,你提供了,默认无效。将工具箱类的构造方法写为Private,外

2021-05-21 17:23:22 85

原创 设计模式——(十六)迭代器模式

迭代器模式(Iterator)提供一种方法顺序访问一个聚合对象中各个元素,而又不暴漏该对象的内部表示1.何时使用:当你需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,就应该考虑使用迭代器模式。可以从车尾遍历,也可以从车头遍历。需要对聚集有多种方式遍历时,可以考虑使用迭代器模式。并为遍历不同的聚集结构提供如开始,下一个,是否结束,当前哪一项等统一的接口。UML结构图总的来说迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构

2021-05-21 17:23:04 74

原创 设计模式——(十五)组合模式

背景:类似:办公oa系统,卖电脑的商家,可以单独卖配件,也可以整机卖。复制文件:一个一个复制,或是复制整个文件夹。文本编辑:单独的改变字体色号,或是整段文字。即整体与部分可以被一致对待的问题。总部的财务也可以使用分部的财务。组合模式(Composite)将对象组合成树形结构以表示“部分——整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。UML结构图1.透明方式与安全方式树可能有无数分支,但只需要反复用Composite就可以实现树状结构了。Leaf类中

2021-05-20 14:58:35 128

原创 设计模式——(十四)备忘录模式

背景:游戏打boss前存档。一种保存在磁盘,一种保存在内存如网页等。1.游戏角色类有生命力,攻击力,防御值,以及显示,初始状态,战斗函数(参数均设为0)。(set get)客户端(main函数)保存进度,重新定义一个对象将改对象一一赋值过去。恢复即将备份的对象赋值过去。但暴漏了接口和细节。若新增魔法力也不容易修改备忘录模式(memento)在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象状态恢复到原先保存的状态。UML结构图将保存的细节

2021-05-20 14:53:01 106

原创 设计模式——(十三)适配器模式

背景:姚明刚开始在NBA需要翻译,将英语翻译为汉语适配器模式(Adapter)将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能工作的那些类可以一起工作。适配器模式解决的主要问题:需要的东西就在眼前,但不能马上使用它,短时间也没法改造它,想办法适配它。(笔记本电脑电源适配器)刚开始让姚明学英语,或者教练,球员学习汉语都不现实。翻译工作。(翻译即相当于适配器)1.在软件开发中,系统的数据和行为都正确,但接口不符和时,我们应该考虑使用适配器,目的是使控制范围之

2021-05-20 14:33:57 117

原创 设计模式——(十二)状态模式

背景:上午12点之前,写代码。中午13.吃饭,睡觉。15.困,18.加班。20.下班回家。复杂的if else 判断,难以修改和维护,方法过长有坏的味道。面向对象设计其实就是希望做到代码责任的分解。状态模式(state)当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转化的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。(若逻辑判断简单就不用状态模式)UML结构图状态模式的好

2021-05-20 14:28:46 319

原创 设计模式——(十一)观察者模式

观察者模式(Publish/Subscribe)背景:老板回来,前台通知大家,但老板和前台一起,就没法通知了1.经典做法。前台类:里面有在她这里注册的观察者。老板回来了,发送消息给注册过的人。看股票者,需要知道前台类,前台类通知了,采取的方法。两个类耦合太强。都需要彼此知道,若增加一个看NBA者,则需要修改三个类。2.好点的做法,看股票者,看NBA者抽象一个类,前台只要知道抽象的类就可以了。但观察者类中还有前台,若前台换人了,老板来了没人通知。老板前台都是通知者,也可以抽象一个类。观察者模式又叫发

2021-05-20 11:45:29 181 1

原创 设计模式——(十)建造者模式

建造者模式(builder)背景:kfc全国各地味道都一样。工作流程都是严格按照规定来的。新研发汉堡,做法相同,配料不同,只是加了一种具体的产品而已。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。又叫生成器模式。该模式将产品的内部表现与产品的生产过程分隔开,从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果使用了建造者模式,用户只需要指定需要建造的类型就可以得到它们,具体的建造过程和细节就不用知道。(画人,基类头脚手,设为虚基类,子类继承胖人,瘦人)Perso

2021-05-20 11:23:53 105

原创 设计模式——(九)外观模式

外观模式(Facade)为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。背景:大家都不懂股票,去买造成了亏损。但基金可以把钱交给基金经理,由他打理,个人无需知道股票是如何运行的。即加个中间人。专业人做专业事。降低了耦合性。如下:耦合性太高UML结构图C++代码class SystemA {public: void fun1() { cout << "系统A的方法1" << en

2021-05-20 11:10:22 88

原创 设计模式——(八)模板方法

模板方法(TemolateMethod)1.重复=易错+难改。试卷类一个 ,学生的抄的考卷继承试卷类,唯一不同的是答案。2.用了继承要让继承有意义,让所有重复的代码都上升到父类去,而不是让每个子类都重复。3.何时使用:当我们要完成在某一细节层次一致的一个过程或者一系列步骤,但个别步骤在更详细的层次上的实现可能不同时,我们通常考虑用模板模式来处理。模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类之中。模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。UML结构

2021-05-20 11:03:35 83

原创 设计模式——(七)原型模式

原型模式(prototype)用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象在创建另一个可定制的对象,而且不需要知道任何创建指定的细节。等于不用重新初始化对象,而是克隆一份,动态的获得对象运行时的状态。即深拷贝浅拷贝之分。(C++中的复制构造函数)UML结构图...

2021-05-20 10:55:18 68

原创 设计模式——(六)代理模式

代理模式(Proxy)为其它对象提供一种代理以控制对这个对象的访问。UML结构图Subject(送礼物基类)类,定义了RealSubject(送礼物方)和Proxy(待送礼物的人)的公用接口,这样就在任何使用RealSubject的地方使用Proxy。C++实现代码class Subject { virtual void sendGif() { cout << "Subject::sendGif()" << endl; }};

2021-05-20 10:52:33 65

原创 设计模式——(五)装饰模式

装饰模式(Decorator)动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。(将所需功能安照正确的顺序串联起来进行控制。衣服在内部穿好在show)经典的错误代码:Person类 里面不同的方法,穿不同的衣服。新增种类,则新增函数,客户端代码都需要重新改,违背了开放封闭原则。UML类图Component(组件)是定义一个对象接口,可以给这些对象动态的添加职责。ConcreteComponent(具体组件)是定义一个具体的对象,也可以给这个对象添加一些职责。Deco

2021-05-19 17:27:57 122

QT-Mainwindows

qt 中 主窗口增加菜单栏,工具栏,状态栏,以及图标的显示

2023-05-27

Qt中的tablewidget 通过分页方式加载大量数据

Qt中的tablewidget 通过分页方式加载大量数据。实现加载大量数据不卡的问题。 附带listView model的加载数据方式。

2023-05-27

QDbus.tar.gz

包含服务的创建,客户端调用服务的接口,属性

2021-12-13

qml基础内容以及相关源码

qml基础知识,相关元素控件 ,事件的实现以及源码 笔记,里面含有笔记,源码,以及一些控件的详细使用方法,代码注释多 适合新手查看

2020-11-15

空空如也

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

TA关注的人

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