自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 12.qml使用c++开发组件

有了这项技术你就可以专门写一些组件适配到qml了。

2024-12-20 15:26:17 594

原创 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

原创 5. 回调函数开发

需要捕获就要使用std::function其他情况可以。

2024-11-01 10:55:28 823

原创 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

原创 5.qml 如何管理好控制台打印输出

在工程文件里面加入,这个只是禁用了c++端的打印。

2024-09-12 15:45:37 319

原创 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

原创 php 控制台打印

【代码】php 控制台打印。

2023-03-27 13:35:23 1573

原创 vue中调用element-ui el-table树形数据中如何获取选定行的父节点

核心在于使用递归遍历。

2023-03-23 16:43:18 3047

原创 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

若依框架引入form generator 表单生成器

若依框架引入form generator 表单生成器

2023-12-07

若依框架与jimuReport集成补丁包

基于若依框架集成jimuReport,配合我的教程文档将我提供的包快速导入即可快速实现在若依框架中自定义报表模块与自定义报表权限,实现后可以授权管理者设计报表,普通用户可以查看被分配的权限

2023-07-14

Winform自定义控件之分页器PaginationControl

在Winform设计中,表格数据常常用到换页的情况,然而winform中没有自带的分页控件,这里就自定义了个分页控件,个人觉得还是很全面的了

2022-11-24

c#自定义属性弹出编辑框

c#中自定义控件有很多自定义属性,一般自定义属性想要编辑直接输入即可,而设计枚举,bool的都是下拉框设置,而更加复杂的属性,这个属性可能来源于某个自定义的类对象,那么你想要如同字体属性Font一样弹出对话框进行编辑,这里就能实现,不仅如此还加入了扩展转换器,可以识别多级属性,嵌套的类对象等情况

2022-11-23

c#通过mysql.data.dll,连接池操作mysql数据库,查询语句,存储过程

c#通过mysql.data.dll,连接池操作mysql数据库,查询语句,存储过程,

2022-11-14

c#读写Ini文件①增加区字段, ②读取区字段, ③删除区, ④删除区字段

c#读写Ini文件①增加区字段, ②读取区字段, ③删除区, ④删除区字段

2022-11-10

winform 页面设计之 半透明遮罩,半透明掩膜 遮挡住不活跃区域,源码

winform 中 打开的窗体分两种:模态与非模态 模态窗体,例如对话框,如果不关闭,那么其父窗体是无法操作的, 但是就winform来说 看不出哪个是当前活动窗体; 为了让他两者有区分,我们选择遮住模态窗体的父窗体盖上一层半透明暗淡膜,突出活跃的窗体 有了这个遮罩 用在窗体上或者一些禁止使用(loading状态)的控件都可以使用 不过这个控件存在一定的问题,就是带有FormborderStyle自带标题栏就会出现问题

2022-07-06

winform 页面设计 c#语言,自定义圆角按键,及简单窗体应用

winform 页面设计 c#语言,自定义圆角按键,及简单窗体应用

2022-07-06

winform美观页面设计自定义窗体自定义标题栏自定义可拉伸窗体c#

winform美观页面设计自定义窗体 自定义标题栏 自定义可拉伸窗体 c#

2022-07-05

winform 自定义滚动条可以修改拖块颜色与修改轨道颜色 轨道有两种样式:线条与矩形

winform 自定义滚动条可以修改拖块颜色与修改轨道颜色 轨道有两种样式:线条与矩形

2022-07-04

c#与halcon联合,用textbox文本写halcon代码 可以新建外部函数,设置输入输出变量

c#与halcon联合,用textbox文本写halcon代码 ①能创建外部函数,设置外部函数的输入输出参数 ②能在textbox窗口编写halcon代码,能运行编写好的halcon代码 ③在hdev文件中能调用自己创建的外部函数hdvp 文章链接:https://blog.youkuaiyun.com/adsd1233123/article/details/124970646

2022-05-26

通过外部函数在halcon窗体上写字

使用halcon外部函数写文字 涉及算子set_display_font disp_message

2022-04-16

c#封装hik工业相机类测试程序frmMsvBasic.rar

采用软件VS2015,语言C#

2021-10-28

C#与halcon联合自制窗体显示控件库测试程序.rar

集成缩放,移动,显示坐标灰度值,保存图片,截图等功能的halcon图像显示窗体

2021-10-26

frmWindowTest.rar

c#与halcon联合调用笔记本自带摄像头DirectShow,[0] 同时基于此,实现二维码信息读取 开源,自带测试二维码

2021-09-23

FrmtxtRWFile.rar

txt读写某一行数据,可插入数据,修改某一行数据

2021-09-22

FrmWRFile.rar

C#对txt文件进行增删改查

2021-09-16

TcpListenrAndTcpClient.rar

C#,winform,Tcp通信 使用TcpListener和TcpClient

2021-08-31

FrmTcpServer TcpClient.rar

Tcp通信协议;winform制作Demo; 语言C#;内含客户端与服务端代码 纯属开源代码

2021-08-29

FrmCalibration.rar

C#联合halcon,标定板标定 像素精度获取 winform制作Demo

2021-08-24

FrmLineBindingModel.rar

C#联合halcon,设置基准模型,可增减直线拟合工具, 直线追踪模型,角度位置变化追踪 加载保存数据,xml,txt

2021-08-20

FrmSearchModelDemo.rar

C#联合halcon设置ROI区域模型匹配 可单步查找模型,遍历查找模型 代码开源,内含模型匹配样品图片

2021-08-16

STM32通用基础模板.rar

支持stm32f103,已经移植好库的基础模板

2021-08-10

FrmDrawAndTextDis.rar

C#与halcon联合 各种图像绘画及轮廓(XLD)显示 矩形轮廓,十字叉,箭头,可调角度矩形轮廓,直线 文字写入,可修改文字大小及其显示位置

2021-08-07

FrmDisplayImage.rar

C#与halcon联合(2)缩放移动自适应图像,解决刷新闪烁,缩放崩溃问题

2021-07-31

空空如也

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

TA关注的人

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