自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QT使用中table单元格代理的理解

map的作用是记录列1x行对应的列2x行该有的代理,因为map键值唯一,所以可以重复写入从而实时替换列2x行的代理。上述setItemDelegateForColumn(行号,代理1)写死的原因是代理1是固定的,只要保证代理1是变化的,就可以实现同列不同行操作的时候展示的是不同的代理。实现上述功能的方法是,重新定义一个新的全局代理2,该代理的重载createEditor()函数需要包含一些判断逻辑,根据不同的情况return不同的代理。实现的关键是createEditor()的即时性。

2025-09-03 16:49:32 219

原创 接口抽象的一种使用方法

它的主要优势是解耦,无需在使用时显式调用classone,同时右部分代理的功能,可以比较方便的改动MC的指向,比如也可以指向classtwo。2.使用步骤1声明的模板,声明extern全局函数,然后在项目的某一处定义。通常会在项目主程序中给出定义,当然也可以在使用中创建。这个方法用于单例项目中优势很大,避免了单例类硬编码在业务里,难于扩展、测试。此外,可以使用define技术进一步简化步骤2中声明的全局函数,便于使用。使用上可以分为两步:1.typedef函数指针类型,给出函数定义的模板;

2025-08-26 20:11:01 151

原创 json文件解析中遇到的问题

创建模板文件时采用UTF8格式,但vs项目自动生成的文件都是GB2312格式的。直观上两者都可以显示中文,实际互不相通,导致json的isMember()函数无法查找到有效键。开始的时候犯了个错误,混用了Qt方式和标准库文件流,多次打开并读取文件,看似读到了数据,但进行json解析时,格式已经被破坏。这是一个好办法,但目前接触到的项目大都是GB2312格式,或者格式混乱但大部分是GB2312,有些费解;3)使用u8等方式,将GB2312格式的代码文件中的中文,强行编码为utf8格式。问题1:编码格式问题。

2025-07-30 23:47:19 228

原创 设计模式学习之命令模式

第三它需要记录函数执行前的状态,例如执行加法后,要保存执行前的数据,以便执行undo的时候能够回撤;它也包含execute()方法、undo()方法,这两个方法都是以command作为参数,执行他们的execute()方法、undo()方法,同时往栈内压如command,作为历史记录。2.receiver类,也就是命令接收者,或者说真正的数据核心。它可以定义多个函数,而这些函数就是每个命令子类的操作对象,通常一个命令子类会接管一组相关的函数,例如加减、乘除,以便对应execute()和undo()函数;

2025-07-27 22:39:40 410

原创 设计模式学习之观察者模式

首先它要有一个观察者数组(observer父指针),以及与之配套的add函数,为了便于使用,这个add函数一般定义为static函数。另外它需要一个信息发布函数updateoberver,用于在适当的时候通过遍历的方式,触发每个观察者重写的update函数。它需要做两个关键工作,首先重写update函数,第二需要使用被观察类的static add函数,把自身(this)注册为背观察者的观察者。1.创建一个observer基类,定义update纯虚函数,这个函数在每个观察者中,根据观察者的需求重写;

2025-07-27 20:53:07 132

原创 QT项目源对象系统缺失解决方案

1.万金油解决方案,选中未生成moc文件的头文件,在属性中把项类型改为自定义,然后填写相关内容。通常把其他moc无误的文件设置抄过来就行;2.如果vs qt tool安装无误,右键改头文件,选择编译就可以自动生成moc文件;

2025-07-27 20:39:24 382

原创 临时变量作为指针使用的注意事项

在C++早期语法中,函数A内部创建一个临时变量,并返回它。函数B可以以这个变量的指针为参数。这实际是早期bug;那这个变量取指针使用,生命周期可以直到send函数结束。当然,这个指针本质依然是临时指针,不能再被保存使用。

2025-07-25 17:53:34 189

原创 windows下vs动态库dll的路径设置问题

OCC项目引用了freetype,occosg引用了OCC,Drawer引用了occosg,程序会从occosg开始,进行多次目录回退,尝试,最后层层查找到所有dll。3.利用windows内置的检索功能,在项目根目录下,程序会自动检索某一个dll的关联dll,只要项目目录明确。2.设置环境变量path,或者在vs的属性-调试-环境里设置path。方法三属于windows内置的方法,很方便,但对linux,moc不适用。1.放在exe文件目录下,最简单方便,但复杂项目会显得混乱;

2025-07-16 10:51:49 471

原创 Qhash提取数据报错问题

mainTab->addTab(table, QString::fromLocal8Bit("第"));用auto i:W形式提取报错,使用迭代器依次提取就可以。

2025-06-25 16:22:51 128

空空如也

空空如也

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

TA关注的人

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