- 博客(68)
- 资源 (19)
- 收藏
- 关注
原创 13.qml组件开发之怎么实现插槽功能
children归类出视图qquickItem也就是Item对象列表—所以我们将我们的Item全部放入children中。Text, QObject 都会添加到data中,所有列表。而resource就是从qml中归类出非视图对象列表。因为默认属性的特效,所以在qml对象中构造的。我们知道Item里面有三个list。而其中的data是默认属性。
2025-01-10 17:51:24
148
原创 11. qml ShaderEffect实现阴影效果
基于上一章所制作的MGaussianBlur.qml 开发 MDropShadow阴影效果。
2024-12-14 16:02:53
199
原创 10.qml使用 shadereffect 实现高斯模糊
复杂我的代码,电脑应该是正常使用的,但是qt使用的场景是多变的所以,如果有遇到不同硬件渲染引擎的问题的可以分析到这里。
2024-12-14 15:28:45
445
1
原创 9.qt数据库连接池无法实现吗
首次创建的连接可以进行缓存, 如果有空闲则提取出来直接使用,不需要重新创建与打开连接的操作(节省了很多时间)连接池本身的概念就是希望,不要重复创建new与开启open导致浪费大量的时间,而实际就是一个缓存连接的概念。那我们可以,不同的线程的连接缓存池子中,当该线程释放,也将其连接从池子中释放出去,但是假设如果是多线程,那就可能同时使用多个连接,这种时候就需要引入连接池的概念。甚至有的线程只用一次,迟迟不释放,又不给其他线程使用,这个就是他的缺点。如果有10几个线程不就得有10几个连接吗,是的,
2024-11-11 10:23:26
415
原创 8.qml中tableview使用QtQuick.Controls2
qquicklistmodel与qquickfolderlistmodel都是派生于qabstractlistmodel。tableview.model 与 delegate中的model.index或者model.display是不同的东西。可以理解为传递给委托的行数据模型-----那么是怎么将比如listmodel中的字段加入进去的呢。而qabstractlistmodel 是派生于abstractitemmodel的。model.name的原因,当然也可以model[“name”]
2024-11-07 15:28:12
974
原创 7.qsqlquerymodel 与 qtableview使用
那么为了自定义qtableview 需要使用到这个QAbstractItemDelegate委托类很遗憾,官方没给我们提供checkboxitemdelegate或者comboboxdelegate之类的委托那么我们就需要自己去写一个请参考https://blog.youkuaiyun.com/Gerald_Jones/article/details/106594052。
2024-11-06 15:58:52
695
原创 6.qsqlquerymodel源码分析
qsqlquerymodel 继承与qabstracttablemodel负责填充数据浅析qsqlquery你会发现提供的构造qsqlquery中如果携带sql字符串语句则自动执行,具体请看所以在使用qsqlquery的过程中如果传入sql语句则不用手动执行否则就需要自己执行数据返回sqlResult 是由不同的数据库驱动提供的而为什么qsqlquery可以使用qsqlresult的protected东西,虽然不是相互继承关系但因为在qsqlresult中声明了qsqlquery为友元类
2024-11-06 10:53:30
562
原创 3.创建一个qt类(Q_D与Q_Q指针使用)
创建一个qt类,右键-创建一个c++类输入类名-生成cpp与h文件就完事了我只能说也行,但是不太符合qt的规范实际上qt创建一个往往是3个文件的就拿qwidget源码中的qpushbutton举例就有三个文件当然换句话:就是Qt中q与d指针的使用这三个文件分别干了什么活呢?实际原理就是希望我们提供的qpushbutton.h只提供接口,不涉及成员变量与代码的实现这样子就可以对我们的源码进行保护,当然还有诸如可拓展成员变量而不用重新编译等。
2024-10-23 08:52:31
1005
2
原创 2. qt_c++反射实例
中提供的字段属性的设置接口,方法委托调用的调用接口可以很好的实现我们的需求。在复杂的开发需求中,我们希望通过一些手段映射出我们的类(先创建一个派生个QObject的类SysUser。Qt基于强大的元对象系统实现反射机制;然后直接使用,通过(
2024-09-27 15:53:39
471
原创 7. qml按键最优解
RadioButton,CheckBox,switch算是他们的衍生,单选框,多选框,切换按键。这里有个问题就是当delay设置低于500ms,达到1松开太快偶尔会卡住。使用这个原因是执行方法耗时,频繁点击会导致无意义多次调用接口,影响性能。如果一直频繁点击,触发执行就会一直延迟,这就是按键防抖的原理。在规定的时间内重复点击按键只会执行一次,最后一次点击就执行。官网列出了他扩展的按键派生与AbstractButton。需要当进度0-1的时候,才会触发actived()信号。需要使用DelayButton。
2024-09-14 14:50:12
362
原创 6.qml数值输入框
确定就是value 是整型,用来作为整型数值输入框可以。初始值设置100超出最大值范围,也会自动校准回99。跟上面一样,初始化的时候也会校准初始值,设置了初始化100超出范围不会自动校准。开发过程中是少不了数值的输入的。默认最小值1,最大值99。具备初始化自动校验能力。可以设置前后缀,精度。
2024-09-14 12:19:59
534
原创 4.qml单例模式
很明显使用import引入的js文件数据是不共享的,也就是他们在qml中的体现为都是个实例。但是有的场景我们希望我们的js文件是一个单例,也就是数据是共享的,怎么做呢?js定义的变量没有ValueChanged这种信号, 故刷新不了qml页面。qml页面数据的刷新绑定的变量其实还是使用了qml的信号与槽的机制,而。需要在qml最上面加入这一行,没有逗号,跟js不一样。有缺点,缺点就是定义的变量不会通知qml页面的变更。全局变量的使用,导致多个qml文件同时触发刷新,直接添加一个js文件到qml中。
2024-09-12 15:05:28
792
1
原创 3.1qtc++静态库项目创建
其中大家可以看到我的build目录会生成一个影子目录(Desktop_Qt_5_15_0_MinGW_32_bit-Release)我们待会需要去掉影子目录。重新构建项目,可以看到我们生成的库就已经放到了我们的工程目录下的release目录里面了。引入成功后我们可以看到flutool工程的东西出现在我们的untitled2项目中了。选择创建项目的模板----库项目—》c++ Libraray-------点击选择。编译成功后我们可以看到自己的项目里面已经有编译好的库了。接下来我们写一下pri里面的程序。
2024-07-29 09:56:47
499
原创 1.c#(winform)编程环境安装
当然也支持在线文档,如果没安装帮助查看器就默认会跳转到官方网站文档里面。一般默认挂起项已经够用了,如果还有其他需求以后在添加也可以。我一般喜欢使用索引的方式查看,根据个人习惯吧。然后点击帮助-》查看帮助----就会自动打开帮助查看器了。使用的话,点击选择程序中的代码点击f1可以自动启动查看。使用***.net framework***开发。点击更新就好了-----他就会帮我们下载到本地。帮助-》设置帮助首选项-》在帮助查看器中启动。点击新建项目,下一步,确认就可以了。一般需要安装,安装一下就好了。
2024-07-27 21:48:18
698
原创 3.qml与c++模块化开发
我们有一台台式电脑,我们台式电脑有显卡,内存,磁盘,cpu,键盘,鼠标等。有了它我们可以快速引入到自己的项目中,我们只需要拷贝某个模块项目的程序。以前是焊死在一起的,坏了一块就得全部丢了,现在不一样了,模块化合并?哪里坏了,替换哪里,哪里更新换代了,我们买个新的换上去就行了?如果是qml模块那就我们的main.cpp里面多做一点处理。好了,说回代码,无论是c++,还是qml模块化管理。然后在我们的程序里面,在工程文件.pro里面使用。我们鼠标坏了换鼠标,我们显卡坏了换显卡。你可以将这些部件当做。
2024-07-26 17:47:50
331
原创 2.qml性能问题
我们再qml中可以使用loader进行动态加载,同时也可以加上asynchronous进行异步加载。因为scrollbar 是可以快速滑动的,快速滑动的时候,loader没完全加载出来不就卡爆了吗。一般动态数据我们考虑 listview ,gridview , tableview 等组件。listview ,gridview 不适合渲染复杂的itemdelegate。如果绑定scrollbar, 你会发现scrollbar 老卡了,为什么呢。如果你生产环境的设备显卡不太行的话。但是对低性能设备非常友好。
2024-07-24 11:01:38
577
原创 1.qml使用c++
main.cpp中注册上下文全局对象c++函数想要被qml使用需要用加载方法声明前面Q_INVOKABLE2.注册qml类型main.cpp中注册为qml使用的类型使用直接跟qml组件一样就可以了
2024-07-21 22:13:53
315
原创 8.qml 关于如何实现qml端的数据双向绑定
使用冒号:就是绑定数据, 直接使用等会赋值会导致绑定断开。通过上述方法实现双向绑定,后续直接操作a既可。用于管理一个属性, 内置方法赋值与读取。
2024-06-07 15:06:52
496
原创 7.qml设置可以通知更新的map数据模型JsonMap
a)fill方法需要优化,内容尽量适配二维数组,map原型,JsonMap自身。JsonMap.qml 1.0版本。后续会在这里更新最新版本代码。
2024-06-06 10:03:08
196
原创 6.qml中js的object,array数据更新不通知页面刷新问题解析
其实兄弟我上面已经说的很明白了,不要以为将一个json数据赋值给property的属性就以为自己的json就是显式属性了,比如。官方文档里面也说了------JavaScript 自动创建未声明的变量是对全局对象的隐式修改,在 QML 中是被禁止的。支持的数据变更刷新方式-----当然是显式数据:声明给qml知道的数据,通过关键字property声明。你哪怕创建成功,你修改也不会刷新页面的,而js中object的子属性对于qml而言都是隐式的属性。我想说qml的属性声明应当是基于基础类型的声明。
2024-06-03 09:24:04
270
原创 5.自定义侧边导航菜单组件(基于menubar,menu,menuitem)
qml中实现可折叠的侧边导航栏方法 使用menubar 与menubaritem ,menu,menuitem是做不到的。为此将以上组件重写,实现侧边可折叠。
2024-04-12 09:42:09
554
原创 4.自定义输入框(文本输入框&数字输入框)
我的文本输入框继承T.TextField, 有部分属性我不想暴露,所以在外层在加上Item。由于第二,三篇已经讲过模块创建与在模块中如何创建组件我们直接跳过。实际是与TextInput中echoMode设置有关。// 需要暴露哪些属性通过alias映射出去既可。继承我们的文本输入框,使用正则表达式进行规范约束。索引InputPane.qml。
2024-04-10 11:41:32
355
原创 3.封装自定义按键(带图标)
继上回我们已经创建了一个BinButton , 但是是很简单的继承了Button的,此刻我们需要分析。核心在与contentItem属性,我们重绘按键的内容就行,而官方源码采用了IconLabel组件。我们先通过qtcreator的帮助,我们了解到Button继承AbstractButton。这里我们需要自定义一些属性, 使用states状态管理器进行渲染我们组件的状态。操作前,我们最好弄个管理我们所有组件的颜色的单例文件。按键内部布局的情况,我们才能更加好的自定义我们按键。
2024-04-10 09:33:34
318
原创 2.如何创建与引入qml模块,自定义模块化组件库
①因为考虑一些组件可能由多个qml文件构成;②所以我们再BinUI目录下面最好创建一个目录代表一个组件以一个按键为例子,我们在BinUI目录下创建button目录此目录里面创建BinButton.qml组件,如下图简单的测试所以我们先随便往BinButton.qml里面写入一些东西BinButton.qml代码如下Button{完成以上还不行,还记得我们有个qmldir文件吗?这个文件就是管理我们想要暴露出去的组件,给外部调用。所以我们需要。
2024-04-09 16:37:09
745
原创 1. qml的基础入门篇-及学习思路大纲
①查看qt源码,学习qt一定要耐心去看qt的源码,有很多技术我们可以从中借鉴。②查看代码开放平台,向大佬们学习: gitee,github等等平台。③养成写代码的设计模式:什么工厂模式,单例模式等等。④基础文档要时常温故知新:如。
2024-04-09 14:56:16
213
原创 1.qt引入华为鸿蒙字体库
因为一些字体是要收费的, 如果使用了,并且商业用途,那么属于侵权行为,那么在此时我们就想要用一些可商用免费开源的字体库,目前华为鸿蒙字体提供了我们一个解决方案,为此我讲解一下我们如何在我们的qt项目中引入鸿蒙字体。同时,将字体文件打包,放到项目根目录下/assets/fonts/里面。右键qt 项目,创建resourceFile资源,命名为assets。可以的话全部安全这些字体,每个目录是一种类型字体。给这些字体取个别名,毕竟太长了。解压,找到不同风格的字体。将字体文件全部添加进去。
2023-10-30 16:23:46
1543
原创 1.创建项目(wpf视觉项目)
本项目主要开发为视觉应用,项目包含(视觉编程halcon的应用,会引入handycontrol组件库,工具库Masuit.Tools.Net,数据库工具sqlSugar等应用)后续如果还有更多的工具会及时补充提醒,暂定这些工具。
2023-09-06 22:25:21
842
原创 jwt+mysql+redis实现token自动续期原理与在线人数统计机制
(token①)是要返回到前端的,是接下来接口(限制接口)请求需要头部携带的的接口访问凭证,会在访问接口前加入一个token验证拦截,如果redis存在该token,那么通过,获取redis对应key的值也就是(oldtoken)解析,这时候在重新生成(newtoken)之后更新redis中token的值,如果不存在,则拦截访问(token已过期,请重新登录)例如验证码,在60s内发送的验证码,都是一样的,除非验证码消失,再重新创建。很多云上软件,如飞书,钉钉之类,他们的凭证在有效期内返回来的都一样,
2023-02-08 08:38:58
1131
原创 2.nodejs如何实现同步ldap组织架构,同步用户,用户认证
很多人说抓名字,都叫IT部的部门 ,旧的资源应该转移到新的IT部,哥哥呀,够呛。举个例子: 服务端这边IT部被删除了,客户端这边IT部下面已经绑定了资源,这个时候同步,客户端的IT部被逻辑删除,那么该部门下面的资源就不在新的组织架构里面了。执行同步时,依旧会逻辑删除原有的IT部,重新创建一个IT部,此IT部非彼IT部,那旧IT部资源去哪了。考虑到一些信息的唯一性,如电话,邮箱,产生的代码,逻辑限定,这里可以考虑一下用户合并或者转移。这里面因为ObjectId不一样了,会产生新的用户,旧用户的资源一直保留,
2022-12-19 16:07:12
858
原创 1.nodejs中config模块遇到的坑
我们配置nodejs系统参数的时候,需要借用config三方模块。然而我们修改了环境变量后,允许程序发现触发的配置文件没变化。解决问题: 这里需要重启命令行工具运行程序。
2022-12-09 11:33:27
566
原创 4.c#自定义控件之分页器PaginationControl
当前页面变化时候触发paginationControl1_CurrentPageChanged。每页数量发送变化是触发paginationControl1_PageSizeChanged。PageSizes --下拉框哪里,可以更改每页数据条数类型如10条每页,20条每页。PageSize --每页数据条数。PagerCount —按键数量。Total 总数据数量。
2022-11-24 16:31:11
665
原创 3.c#自定义属性弹出编辑框
这里我们想定义一个自定义类型,同样也能弹出框编辑先创建一个类Scope.cs,用于声明为自定义属性set;get;set;get;} } }核心在于ScopeEditor,属性编辑器ScopeEditor.cs= null) {= null) {= null) {} } }模态弹出框ScopeEditorDialog.cstry {
2022-11-23 17:36:57
1048
原创 2.c#通过mysql.data.dll,连接池操作mysql数据库,查询语句,存储过程,
存储过程的代码,查找两个表格,两个输入,一个输出。C#操作mysql需要依赖一个库。
2022-11-14 08:38:03
685
原创 1.c#读写Ini文件①增加区字段, ②读取区字段, ③删除区, ④删除区字段
【代码】1.c#读写Ini文件①增加区字段, ②读取区字段, ③删除区, ④删除区字段。
2022-11-10 23:52:18
560
原创 C# 如何调用webApi接口
安装成功,就看到就看看自己引用中是否存在Newtonsoft.Json,没有就手动添加到引用中吧。优先封装HttpClient.cs,用于发送http请求,类似于axios,ajax等等。自己创建一个HttpClient.cs,将以下代码拷贝进去即可,无需依赖。将一个json的字符串数据发送到接口中,发送post请求。这里依赖于Newtonsoft.Json,需要去安装。,你可以根据自己的需求的不同进行封装。右键项目-》管理NuGet程序包。这里需要先定义一个数据模型。注意,这里的请求类型为。
2022-11-09 09:53:02
9103
若依框架与jimuReport集成补丁包
2023-07-14
Winform自定义控件之分页器PaginationControl
2022-11-24
c#自定义属性弹出编辑框
2022-11-23
winform 页面设计之 半透明遮罩,半透明掩膜 遮挡住不活跃区域,源码
2022-07-06
c#与halcon联合,用textbox文本写halcon代码 可以新建外部函数,设置输入输出变量
2022-05-26
FrmDrawAndTextDis.rar
2021-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人