- 博客(70)
- 资源 (11)
- 收藏
- 关注
原创 GuiLite (1): Brief Introduction
It's very small size header GUI library, just about 4000+ lines c++ codes, but we can use it on multiple platforms, such as WinOS, LinuxOS, MacOS, Phone, Android, and Embedded Device.eg. No more expense dependence, just only one header file, and im
2024-06-28 10:52:37
306
原创 GuiLite (2): Assiant ducument
BackgroundCoreapi.haudio.hc_audioenumAUDIO_TYPEAUDIO_MAX}MSG_INFO;
2024-06-28 10:52:13
472
原创 qt文件操作的一些技巧
二、多线程处理大文件的最佳实践最根本解决方案是避免多个线程访问同一资源。我们可以将大文件分割成多个独立部分,分别由不同线程独占处理。只需引入一些同步点,进行简单的合并即可。如果无法避免共享资源,就必须使用同步原语如QMutex和QReadWriteLock来保护临界区。这能够确保同一时间只有一个线程能访问资源。但注意锁粒度不宜过大,会影响并发性能。Qt提供了QAtomicInteger等原子操作类,我们可以用它们来保护一些简单的计数、状态位等共享变量,避免加锁开销。死锁通常由多线程循环等待造成。
2024-04-22 17:22:00
1311
原创 [读书笔记] 八字笔记
此外,书中还透露了不少作者多年积累的心得,如“寅月的调候”、“上等用神的看法”等。不足:如对命局强弱的判断,陈氏介绍以计算五行数量的方法,但他实际运用中又不完全是这样用,还结合了四季的气令,有些初学者只学了个中皮毛,以为纯粹用五行数量加减的简单数学计算就可以了,结果错误百出。,陈品宏,1949年生人,13岁从师学习命理,此书成书时间为1972年,陈氏当时只有23岁。不足:理论水平高,实践时有所欠缺,些许内容不够灵活,适合入门看,切忌死板教条。,清代乾隆年间的进士沈孝瞻原著,重理论,缺实践。
2024-04-22 09:50:20
388
原创 八字入门书介绍
《千里命稿》,此书是民国时期上海的韦千里先生所著,是他主讲的命学培训班的讲义,成书时间在1935年。该书语言简练、述理清晰,是讲述子平命学概念的佼佼者,尤其是对五行、六神的性质讲解,可以说是此书的精华,叙述得非常明了,让初学者非常容易理解、掌握。此外,此书的评断篇,基本上定出了现代命书的格式:看强弱、定格局、取用神、论喜忌、查岁运、推六亲、评性情、断事业。但此书也有不足的地方,如对六亲的定论过於固定而有失灵活、十年大运上下各五年分看、性格分析以注重五行强弱而不是以十神心性去判定等等。韦先生当时虽然只有24
2024-04-21 20:07:03
2894
原创 QML中使用qss文件
3、编译运行,ok。上面是一套qss的风格,要是想实现多套风格的,怎么做?在js中模拟实现json的数据结构,这样通过不同的key(qss kind name)来获取具体的Object,然后通过Object来取具体的数值。QML中如何使用QSS?1、编写main.qml。
2024-04-11 16:21:20
603
原创 上下收缩、折叠面板
上下收缩、折叠面板,类似QQ好友列表那种。原理就是在一个布局中,通过button来实现一个独立widget的visible/disable。在mainwindow中创建两部分,左边是折叠面板,右侧是一个qtabwidget(用不到则删掉)
2024-04-09 14:42:52
550
原创 对文件内容特殊关键字做高亮处理
对文件中指定的关键字(内容)做标记,适用于日志系统特殊化处理。比如对出现Error字段所在的行进行标红高亮。同时支持对关键字的管理以及关键在属性的设置。
2024-04-09 11:22:43
467
原创 qt实现实时抓取串口数据,并对数据做解密处理
1.实时抓取串口数据,并对串口数据做解密,解密后显示在QTextEdit上。2.对显示的内容做特殊关键字标记处理,比如3.对显示的,类似编辑文件中的Ctrl+F4.对串口抓取到的数据存储到本地。
2024-04-09 11:16:32
1319
原创 qss样式表集合
设置整行选中还是只选中文本(比如一行占100px,设置为1时这100px都会被选中,设置为0时只选中文本占用的长度)-------------------------通用QScroll------只要有拖动条都可以用,比如listwidget---------但凡有text属性的都可以用。--------------------自定义属性-----------------/* 整个下拉窗体越过每项的背景色 *//* 下拉后,整个下拉窗体被选择的每项的样式 */
2024-04-08 16:01:09
741
原创 Linux下使用dd命令生成指定大小的文件及生成多个文件
可以借助dd命令生成指定大小的文件,文件填充的内容可以是顺序也可以是随机的;除此之外,也可以借助shell命令批量生成多个文件,以供特殊场景测试。
2024-03-08 11:04:35
2686
原创 OpenGL入门概念汇总
现代函数要求使用者真正理解OpenGL和图形编程,它有一些难度,然而提供了更多的灵活性,更高的效率,更重要的是可以更深入的理解图形编程。例如有一些作为3D模型数据(一栋房子或一个人物)的容器对象,想绘制其中任何一个模型的时候,只需绑定一个包含对应模型数据的对象就可以了(当然,我们需要先创建并设置对象的选项)。所有OpenGL的更高的版本都是在3.3的基础上,引入了额外的功能,并没有改动核心架构。使用对象的一个好处是在程序中,我们不止可以定义一个对象,并设置它们的选项,每个对象都可以是不同的设置。
2024-03-06 17:03:40
407
原创 Linux程序崩溃调试
一般而言,项目不会主动加-g来带调试信息,毕竟可执行文件太大了也不够友好。另外,更主要的是,关键时候还不保证会生成core dump文件。这种情况大多是实际要面临的,也是Interviewer喜欢问得。编译时主动带-g,生成的程序带调试信息,而且开启生成dump文件,这时候可以使用core dump来调试程序,定位问题。三、再复杂点:如果core dump文件的堆栈信息被破坏了,又该如何定位问题呢?
2024-03-06 16:07:55
608
原创 QThreadPool解析
首先,适用于线程复用的任务大多都是简单的任务,而线程池为了管理这些数量多的任务,将它们按照优先级进行了分类,同一优先级的任务会放到一个组中,在 QThreadPool 源码中以 QueuePage 类来表示一组任务,从以下代码可以看出最多存储255个任务。」中阐述,这里不再赘述。但是我们知道并不是开越多的线程越好,这时候如果工作的线程过多,我们还是没法利用已有的线程来执行我们的任务,那么我们只能将任务存入任务列表中,等待被这些活跃的线程“临幸”。没有线程的话,那就开辟一个新的线程,然后执行我们的任务。
2024-02-29 11:15:13
603
原创 Model/View中自定义Model——入门篇
使用自定义Model,配合QTableViewQ_OBJECTpublic:signals:private:armyMap[1]=tr("空军");armyMap[2]=tr("海军");armyMap[3]=tr("陆军");armyMap[4]=tr("海军陆战队");weaponTypeMap[1]=tr("轰炸机");weaponTypeMap[2]=tr("战斗机");weaponTypeMap[3]=tr("航空母舰");
2024-02-28 15:34:53
338
原创 QGraphicsView使用范例汇总:入门篇
对于自定义的图元需要注意的是1)如果需要使用Qt的特性,在多重继承当中,一定要将QObject写在QGraphicsItem前面:class CustomItem: public QObject, public QGraphicsItem2)相关的函数需要重载:boundingRect和paint(QPainter *painter, const QStyleOptionGraphicsItem *option,QWidget *widget)
2024-02-28 11:19:45
1495
2
原创 Q_DECLARE_PRIVATE和Q_DECLARE_PUBLIC
简单的来说,就是随着lib/dll库的更新迭代,调用库文件的程序在不需要重编译的情况下仍能够正常使用,以达到"兼容"二进制库文件的变化,这就叫做二进制兼容。对应二进制兼容的还有源代码兼容:就是需要对程序重新编译才能使用新的库文件。Q/D指针只是Qt实现二进制兼容的一种方法,简单的来说就是将功能通过指针对象私有化,隐藏起来具体的细节。
2024-02-27 15:19:13
836
原创 Qt窗体和控件遮罩效果
实现方式一:借助setMask(rect)函数。该函数将设置rect为可见区域,rect可以是控件的规则区域,也可以是bitmap范围。不规则的窗体、窗体上下重叠时需要鼠标穿透、只显示部分区域时。
2024-02-22 14:11:57
965
原创 SSD入门基础
1、HAM:Hardware accelerated modem,硬件加速模块的简称,就是将一些复杂的工作交给特殊的硬件去完成,从而减轻中央处理器的工作量。2、ISA:Instruction set architecture,指令集架构,是软件和硬件的通信基础。SCSI 和RISC是复杂指令集和精简指令集的简称。1、主控中提升顺序读写的设计。
2024-02-19 09:52:26
223
原创 无锁序列系列笔记
下面是常见的一些实现方式:1、借助智能指针来实现。下面是一篇2、借助automic使用CAS(Compare And Swap)原子操作,std::atomic_flag,不同于所有 std::atomic 的特化,它保证是免锁的,不提供load()与store(val)操作,但提供了test_and_set()与clear()操作,其中test_and_set()就是支持RMW的原子操作,可用std::atomic_flag实现自旋锁的功能。
2024-02-04 16:18:43
375
原创 OpenGL入门
除此之外,我还发现了其他的书籍,不过不确定有没有中文版。名字是:learn opengl-graphics programming。经典的有红蓝宝书,不过一本便库函数索引,不太适合作入门;另一本理论知识点介绍多,适合入门。后面可能空了会对此书作阅读记录。
2023-11-17 13:53:57
106
原创 inno setup自定义详解
先看效果图第一步:当不勾选同意协议时:支持多语言自动切换支持单例启动校验支持已安装校验支持......首先自定义界面。主要是贴图和各种事件响应,部分核心代码如下: {界面创建入口} procedure InitializeWizard(); begin WizardForm.Center Wi...
2020-04-14 14:12:44
1750
原创 编码注意事项
1、默认值1、默认值的问题主要体现在以下几个场景局部变量。由于局部变量不会在声明时被初始化,因此它的值也是未知的,如果不对它初始化,那结果显然是未知的函数出参、返回值。对于有返回值的函数,无论是否完整走完内部逻辑、亦或是因缺失不必要条件而同样完整走完内部逻辑(比如读文件时文件不存在依然会创建文件),都应该有一个表示"计算过程"的默认值,当然这个值应正确代表逻辑执行的情况...
2020-03-25 09:56:20
426
原创 注意事项集合(常年更新中)
汇总了在编码当中应该注意的问题1、QWidget的继承类设置样式表没效果class CustWt: public QWidget{};CustWt custWt;custWt.setStyleSheet("#custShow{background-color:#ff0000}");我们发现上一句样式表并没有达到我们预期的效果,这是因为对于subclass of qwidget,如果...
2020-03-06 10:34:51
198
原创 Qt开发Android范例详入门详解
一个人的成功是岁月的积累和众人乐善好施的结果,我们尊敬那些无私奉献的人,更尊重那些持之以恒的大无畏开拓者.老子狗屁不是,但是为了更多人的成功,无论如何要把成果分享出来,感谢糊涂李哥以及那些帮助我的人Qt开发android主要是借用JNI技术,让我们能够调用android(java代码)的一些方法,从而实现对多平台的兼容,下面我们以具体的实例来一步步学习如何用qt开发android应用...
2020-02-22 10:34:09
6275
3
openssl下的pc和android库.rar
2020-02-04
人脸识别库+qt5.8+opencv3.2
2018-12-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人