- 博客(114)
- 资源 (11)
- 问答 (2)
- 收藏
- 关注
原创 开源闭源杂谈
总的来说,开源和闭源软件都有其优缺点,选择哪种方式取决于具体的情况和需求。在数字化时代,我们需要更加开放和协作的态度来推动技术的发展和创新,同时也需要保护商业利益和技术安全。通过开源,软件开发人员可以在全球范围内进行协作和创新,这种分布式的方式可以加速技术的发展和创新的速度。此外,开源社区的透明度和开放性可以鼓励更多的参与和贡献,使得软件更加完善和适应各种不同的需求。这是因为大模型需要大量的数据和计算资源来进行训练和优化,而开源可以促进资源的共享和优化,使得更多的人可以参与到大模型的研发中来。
2023-11-17 11:36:55
70
原创 Qt基础 界面镜像
以上代码还有个问题是每当窗口放大或者缩小时候,镜像窗口该显示位置不正确,每次改变大小可以使用。当然我们操作视图还得用QGraphicsScene和View,详情介绍可以看下参考。缺点是由于是全图截屏,会出现鼠标情况,如果有同志解决留言告诉我方法。与1类似不过是知道镜像窗口的大小,并截图转换成图片对象,前几天遇到一个需求 镜像界面想到几个办法,先给效果图。QTransform有好几种形式具体可以参考。先找到镜像窗口的句柄,保存成图片然后镜像。下面就直接给出部分代码,因为并不太难。看了下构造由一下类型组成,
2023-11-15 17:49:38
83
原创 Qt基础 QT QTextEdit自动滑动
获取QTextEdit的QScrollBar,然后再构造函数算出QScrollBar歩长pageStep(这里不知道为什么在其他地方算的步长很大),然后就定时器QScrollBar++或者--啦。最近公司在做一个提词项目,本来对这里功能难易感觉属于一般的,谁知道碰到一个很简单问题,搞了半天,先喷一下百度浏览器 不知道是算法越来越垃圾,还是我检索的有问题,还是说这个问题很难。那个End不用看意思就知道光标移动到文章尾部,还自动滚动,滚尼ma呢。严重标题与内容不符,别用猪脑写文章好不好!
2023-11-14 10:32:21
92
原创 话题 It人的护城河
综上所述,技术能力的深度、对创新的追求以及沟通协作等软实力都是程序员的护城河。这些能力相互补充,共同构成了程序员的全面素质。只有不断提升这些能力,程序员才能更好地应对不断变化的技术环境和工作挑战,为我们的社会构筑更加安全、稳定和创新的未来。程序员的护城河可以包括多个方面,包括但不限于技术能力的深度、对创新的追求以及沟通协作等软实力。
2023-11-09 11:53:58
46
原创 C++基础 关于std::shared_ptr循环应用问题
这种情况下,内存无法被垃圾收集器正确释放,从而可能导致内存泄漏,在这种情况下,A的实例可以通过bPtr引用B的实例,反之亦然。但是,如果这些是唯一的引用,那么垃圾收集器无法确定这两个对象何时不再需要,因为它们互相引用,形成了一个循环。使用引用计数技术追踪所管理对象的引用数量,当引用计数变为零时,自动销毁所管理的对象。可以自动释放动态分配的内存,当指针超出作用域或被重置时,它会自动删除所管理的对象。是一种独占式智能指针,用于管理唯一的对象,确保只有一个指针可以访问该对象。对象存在,所管理的对象也会被销毁。
2023-10-18 16:33:16
91
原创 Qt基础-乱码问题
围绕这些名词:字符编码、字符集、如ASCII、UNICODE、GBK、GB2312、GB18030、UTF-8、UTF-16等,源码字符集、执行字符集,MSVC编译器、MinGW编译器等,差不多就够了。个人常用原生的QtCreator开发,Qt+VS环境对调试非常友好,其它的了解不多,但乱码问题应该也没有的,因为源码字符集以及执行字符集都是GBK,统一就没有问题。,原因就是QtCreator源码字符集默认UTF8的,MSVC执行字符集默认GBK的,不统一乱码自然出现。源码字符集 和 执行字符集编码不统一。
2023-10-18 15:42:06
66
原创 Qt基础 QPieSeries饼状图
tip:上面代码QObject::connect按道理不应该是按照下面这样去弄,按照上面调式我发现循环外事。QPieSeries Class:饼状图数据。表示饼图系列中的单个切片(其实就是标签)管理图表系列、图例和轴的图形表示。可以显示图表的独立小部件。
2023-10-17 17:26:30
94
原创 QT基础 QChart绘制折线
本质逻辑上与上面差不多,但是如果要放大/缩小等操作,需要重写一下QChartView函数,如果是触摸的需要重写QChart的bool sceneEvent(QEvent *event);
2023-10-11 17:42:54
117
转载 关于Qt QPushbutton 图标与字体间距处理办法
/新建布局,把元素一一添加到布局,再把布局设置到按钮上。//new两个Label,一个放置图片,一个放置文本。//设置文字的字样、字体、颜色等样式及文本框宽度。//设置描述按钮功能的文字。//加载图片到Label。
2023-10-10 17:57:11
234
原创 我的创作纪念日
在学习的过程中,我会通过写作来记录自己的思考和见解,这有助于加深对知识的理解和掌握。在写作中,我需要与粉丝进行互动和交流,这让我学会了如何更好地传达自己的想法和观点,并倾听他人的反馈和建议。总之,作为一个程序员,你需要平衡好编程和写作的需求,并在两个领域中不断提升自己的技能和能力。总的来说,创作让我成长了许多,不仅提高了我的思考能力和表达能力,还让我学会了与他人沟通和合作。通过将创作与工作和学习的经验和知识相结合,我能够更好地发挥自己的潜力和才能,同时也能够为他人和社会带来积极的影响。
2023-09-26 09:52:05
26
原创 QML Book 学习基础4(状态和转换)
用户界面的某些部分可以用状态来描述。状态定义一组属性更改,并且可以由特定条件触发。QML 中定义状态,该元素需要绑定到任何项目元素的数组。states状态通过状态名称标识状态是通过状态名标识的,最简单的形式是由元素对象上的一系列属性更改组成。默认状态由元素对象的初始属性定义,并命名为""(空字符串)。通过为定义状态的元素的状态属性指定新的状态名称,可以更改状态。控制状态的另一种方法是使用State元素类型的when属性。
2023-08-29 11:58:10
167
原创 QML Book 学习基础3(动画)
Qt 动画是一种在 Qt 框架下创建交互式和引人入胜的图形用户界面的方法,我们可以认为是对某个基础元素的多个设置。
2023-08-29 09:14:08
161
原创 QML Book 学习基础2(基本元素控件)
图像的源使用 source 属性指定为 URL。图像可以以Qt支持的任何标准图像格式提供,包括位图格式(如PNG和JPEG)和矢量图形格式(如SVG)。如果需要显示动画图像,请使用。Text项的初始宽度依赖于所设置的字体和文本字符串。没有设置宽度且无文本的Text元素将不可见,因为初始宽度将为0。矩形项用于用纯色或渐变填充区域,和/或提供矩形边框。需要注意如果长宽没有设置,是无法看到矩形的。AnimatedSprite或AnimatedImage。
2023-08-28 15:58:08
213
原创 QT基础 关于QT延迟
使用QEventLoop传入参数msec,使程序延时msec毫秒。这种方法不会阻塞当前线程,尤其适合Qt的单线程带UI程序,或者UI线程,因为线程阻塞时,很明显的现象就是UI卡死。当然,你也可以更改addMSecs为addSecs使程序延时msec秒。如果去掉QCoreApplication::processEvents(QEventLoop::AllEvents, 100);可以延时,但也会阻塞线程。
2023-08-25 15:47:11
919
原创 Qt基础 线程池
主要属性:1、activeThreadCount: 此属性表示线程池中的活动线程数,通过activeThreadCount() 调用。2、expiryTimeout: 线程活着的时间。没有设置expiryTimeout毫秒的线程会自动退出,此类线程将根据需要重新启动。默认的expiryTimeout为30000毫秒 (30 秒)。如果expiryTimeout为负,则新创建的线程将不会过期, 在线程池被销毁之前, 它们将不会退出。
2023-08-25 14:29:24
72
翻译 QML Book 学习基础1
QML是一种声明性语言,用于描述对象之间的关系。遵循HTML-JavaScript模式,但是为QML和QtQuick重新设计过,因此是在两者基础上基础建立。property通常通过id访问特定元素,或者使用parent关键字访问父元素。所以最好将根元素命名为root,使用id: root。这样就不必考虑如何在QML文件中命名根元素。这里需要注意的是每个ID都是唯一的,遵循后来为尊(假如有两个Button(在同一个作用域内)的id都是root,则最后那个会覆盖前面那个)
2023-08-25 11:57:42
36
转载 Qt基础 hid设备通信
这篇文章主要是记录C++与USB-hid设备(即免驱动的usb设备,鼠标、键盘就是hid设备)进行通信,它也是一种USB设备,只不过不需要安装驱动,如果要与非USB-HID设备通信请参考libusb。libusb首页github地址以上就是hidapi库的配置方法和使用,仅作为学习记录参考。如果本文章有误,请指出,感激不尽!
2023-08-14 11:07:04
603
原创 QT基础 Hid设备插拔检测
hid设备检测踩了好多坑,本博客一一列出来,先说环境是Qt5.12+Vs2019的,如果是MFC的框架可以去看MFC的了,两者环境区别还是很大(我帮你踩了)。这里主要说一下,插拔Hid设备检测,检测hid可以分为两步。因为处理消息nativeEvent是QWIdget函数在写的时候继承QWidget,除此还有一些博客会用nativeEventFilter这个消息处理,这里wParam就是Hid设备操作。注册监控需要注意是设备GUID,每种设备GUID是不一样的,下面基本上罗列常用。
2023-08-10 18:14:21
370
原创 QT 常用数据结构整理
当添加新的元素时,QList会根据需要自动扩展内存空间,以容纳更多的元素。如果返回值大于1,说明程序之前使用 insertMulti() 函数为一个 key 添加了多个 value 值(QMap 允许一对多映射,多个 key-value 元素 的 key 值相同,但一般不建议这样做)。第一个 insert() 自动添加新节点到红黑树的排序位置,红黑树只按照 key 排序,同样 key 的多个 value 值不会排序,同样 key 的新节点总是插入到同样 key 旧节点的最前面。
2023-07-28 13:57:52
740
原创 QT elidedText 避坑
我们知道这段代码是省略名称 但是如果你是new出来的,这里你有样式 并且样式里用的字体大小,把这段代码加到样式下面可以,如果单独写就不行。解决办法:再设置一下字体。
2023-07-14 14:03:36
78
原创 qt Qss 边框渐变
使用QGraphicsEffect:你可以使用Qt的图形效果框架来实现按钮的渐变边框效果。首先,你可以创建一个QGraphicsEffect对象,并将其设置为按钮的图形效果。然后,你可以使用QLinearGradient来创建渐变效果,并将其设置为QGraphicsEffect的属性。使用QPainter绘制:你可以通过重写按钮的paintEvent函数,使用QPainter来绘制按钮的边框。在绘制过程中,你可以使用QLinearGradient来创建渐变效果,并使用QPen来设置边框的样式。
2023-06-30 17:36:05
752
翻译 Qt 关于Qt信号多层传递优化
有一个信号(假如是clicked信号),只能从D->B->C->A类这样传递信号,会很冗余,有没有什么好的办法?我们其实可以做全局信号传递类TranceClass(就叫T吧),只需要从D->T->A就可以了,但是T被很多类调用,如果不小心delete就很麻烦了,这就引出的"单例类"用法其实很简单,我们只需要获取传递类T的单例对象就可以,然后就像正常信号接收消息,然后在传送消息(如果参数就传参数)下面是单例T的写法,可以参考一下
2023-06-19 18:00:03
184
原创 操作数据库插入数据
数据库是有唯一的主键(你可以设置也可以不设置),主键设置了数据库是唯一不可改变的。当我们插入数据时,因为主键是不可以改变的所以你想在中间插入是不行的,当然你也可以不设置主键处理。同时,为了保护您的数据安全,建议您在使用这些语句之前备份您的教据。其中,temp_table是您要创建的临时表的名称,original_table是您要插入数据的原始表的名称。1.首先,您需要创建一个临时表,该表与原始表具有相同的结构,但不包含主键约束。5.最后,您需要将临时表中的数据插入到原始表中,并将主键和后续数据往后移动。
2023-05-31 15:19:32
739
原创 QT基础 QComboBox
先吐槽一点,感觉Qt的api调用有点不笼统,比如我们都知道setStyleSheet可以设置属性,但是有些空间比如QComboBox还要调用setView,否则属性无法显示,这个可能与底层实现有关系。好了废话不多说先上图。
2023-05-11 09:56:16
672
原创 Qt 无边框窗口、边框圆角
首先要确认一点,无边框窗口与qss背驰,相当于继承QWdiget自定义控件,所以当你设置无边框时,会导致其qss失效,解决办法也有,如下图官网给出解决方案。不用重写paintEvent,但是明显能看出来有锯齿。无边框只要重写以下几个消息响应就可了。
2023-05-08 15:02:25
390
原创 QT quick基础QML学习3(基本控件)
提供窗口顶部横向的菜单栏,下面例子点击响应的MenuBarItem会触发Triggered信号,QML的消息响应函数是On+信号名称。,也是布局管理,可以认为是父组件里子控件的布局。提供能够绑定到导航和视图的抽象的用户界面动作。关于layout可以看官网。,提供顶层应用程序窗口。提供工具栏,可以添加。
2023-04-18 10:50:29
148
原创 QT quick基础QML学习2
ColumnLayout 与RowLayout差不多,这里不再概述。下面我们实操一下布局1,线上代码(编码是vs创建QML)锚的部分可以分着下图几种方式。RowLayout多几个属性。
2023-04-07 16:43:13
270
原创 Qt 浅谈MVC模型
MVC是一种软件设计模式,它将应用程序分为三个部分:模型(Model)、视图(View)和控制器(Controller)。这三个部分各自负责不同的职责,通过协同工作来实现应用程序的功能。MVC模型:模型(Model):模型是应用程序中处理数据和业务逻辑的部分。它通常包括数据存储、读取、更新等操作。模型提供了一个通用的接口,用于与应用程序的其他部分进行交互。视图(View):视图是应用程序中负责呈现数据的部分。它通常包括用户界面、图形界面等。视图接收模型提供的数据,并将其呈现给用户。
2023-03-31 14:03:32
469
转载 QT quick基础QML学习1
QML是一种描述用户界面的声明式语言,将用户界面分解成一些更小的元素,这些元素能够结合成一个组件,有点类似HTML-JavaScript模式,从QML元素的层次结构来理解是最简单的学习方式。子元素从父元素上继承了坐标系统,它的x,y坐标总是相对应于它的父元素坐标系统。id: buttonText {id: textid: mouseimport声明导入了一个指定的模块版本。一般来说会导入QtQuick2.5来作为初始元素的引用。
2023-03-24 18:21:29
107
原创 Qt QSlider双滑块
首先,处理覆盖问题,若有有什么办法能够让最上层滑轨透明,显示下层样式,直接来代码吧,这里需要注意是前后问题,如果你想QSlider1在最上层那么只能隐藏滑轨和背景,QSlider2在最下层,反之亦然。2.第二个问题是,当我们QSlider双滑轨切换前后位置会出现,最后的滑块没动,动的是最前面的,这是因为我们鼠标一直按着,当前界面切换过来了,但是消息处理函数还没切换过来,这里需要特殊处理一下。下面是遮盖处理以及思路。
2023-03-14 18:39:02
1102
翻译 Qt1.12+Vs2019 自定义安装包制作
或者使用vs官方的软件Microsoft Visual Studio Installer Projects,在vs在线工具可以下载,国内网速可能比较慢,连接教程。2.如果安装包要纯自定义界面的话,可能要需要手动写代码,但是软件打包是个问题,比如说打包成msi或者exe。这里就可能会涉及到压缩和解压。但是我们获取到文件句柄在WriteFIle写入文件时候就会提示报错或者,是因为我们传参有问题具体可以看下。将包打包软件zip加入资源里面->通过资源句柄获取到资源,将资源写到某个位置->解压文件。
2023-02-22 16:34:57
277
原创 QT 关于注册表操作QSettings,以及卸载程序uninstall.exe处理方法
Qt操作注册表类是QSettings,所以要添加头文件#include ,因为注册表是目录树结构因此我们可以对其操作allKeys、applicationName、childGroups、childKeys等操作。2.如果以上方法还是不可以,可以试试注册表UninstallString这个值数据加上""双引号,卸载权限不够,请与管理员联系,但是用360或者win11应用和功能是可以卸载的。1.修改UAC权限,如果是win10以上系统的话,会出现小盾牌的字样。但是这里需要注意的是。
2023-02-06 11:15:20
500
原创 QT QProcess调用外部程序
Qt提供QProcess调用外部程序,继承QIODevice,因此我们可以把它当作是一个I/O设备进行读写操作,启动程序有两种方式一体式(外部程序启动后,将随主程序的退出而退出)#if!#endif需要注意是路径中带有空格,QProcess无法识别//1-不带空格。能够启动//2-带空格,无法启动//3-带空格,使用带參模式。能够启动分离式(外部程序启动后,当主程序退出时并不退出。而是继续执行)#endif#if!#endif。
2023-02-01 11:28:34
1694
Qt WIFI连接demo
2023-10-20
解决libfaad_release静态编译出错问题,这个lib是静态编译的
2022-08-17
windows核心编程-73.zip
2020-01-02
C ++多线程编程实战姜佑译.rar
2019-05-21
MFC Clist 字体颜色 行列背景 整行高度
2018-05-21
Visual Studio 2019 设置问题
2023-11-24
求助,mfc界面拖拽到电脑边框会变成这样,打断点也进入OnPaint()里
2019-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人