自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何成为一位伟大的架构师 : ChatGPT 3.5的标准回答

万物总有法可依,我相信看到这篇博客的每一个有缘人都能成为一位伟大的架构师。

2024-04-04 18:02:24 624

原创 Qt Bug : ModelEdit.exe!MainWindow::`scalar deleting destructor‘(unsigned int) C++还是接着上一个这个Qt经典的Bug

针对上述情况,刚好我的Qt项目是把Mainwindow作为子控件包装到我的Widget控件中,而创建顺序如果是先创建MainWindow,那么软件关闭释放内存的时候,我的父控件Widget已经释放了,但是最后才来释放MainWindow内存,显然不合理,因为C++继承树中是先释放子类析构,释放子类资源再来释放父类析构,释放父类资源,我的Widget父控件释放资源之前已经把MainWindow的资源释放,最后在main函数中才又一次释放MainWindow的内存资源,怎么可能不出问题。

2024-01-31 09:17:46 455

原创 Qt Bug : ModelEdit.exe!MainWindow::`scalar deleting destructor‘(unsigned int) C++

函数的原理,都会使得子类的析构得不到调用,所以毫无避免地发送软件关闭中,所有父类析构函数没有写成虚函数的子类的资源统统得不到释放,从而发生内存泄漏!虚函数,所以软件关闭的时候,Qt项目中继承树的层层内存释放,遇到父类忘记或根本不懂父类析构要写成。代码量上几万行以后,软件的关闭流程中存在内存泄漏问题,算是老生常谈的问题了!Bug的问题就是父类的析构函数没有写成。目前我遇到过最经典的Qt中上述。

2024-01-31 00:18:01 374

原创 Qt : Style Sheet

If the background-image is to be fixed with the viewport:QTextEdit, QListView {background-color: white;background-image: url(draft.png);background-attachment: fixed;}

2024-01-27 21:02:27 1056

原创 QDockWidget : 想要 top -> left -> rigt -> bottom 的布局实现

然后再布局DockWidget_9的位置,就永远没办法实现想要的效果。先让DockWidget_5和DockWidget_6布局成水平布局。上图红圈中的实现,第一次想要实现,总会和想的不一样。

2024-01-27 09:39:15 348

原创 基于QWidget新建的工程,直接使用this->setstylesheet设置backgournd-image,border-image,image会失效

再设置setStyleSheet就可以设置成功。

2024-01-26 16:21:17 380

原创 “libpng warning: iCCP: known incorrect sRGB profile” :图片或SVG加载不出来的问题,C++或Qt

链接:https://pan.baidu.com/s/13I-LWGmtGD3G-u4KLZAmWA?,在你构建生成你的可执行文件时,将上述图片相关依赖库安装到你的安装目录下。具体参考我的CMake命令那篇博客!然后我的解决办法也是网上大佬们的思路,在可执行同级目录下,放以下依赖库。至于做法,你可将上述依赖库放在你的工程中,然后用CMake命令。文件夹放到你工程的可执行文件同级目录下,即可解决问题。加载图片时因为依赖第三方库缺失,报错!注意的地方:将上述的整个文件夹。

2024-01-23 00:52:35 402

原创 execute_process( COMMAND ${CMAKE_COMMAND} -E copy_directory :CMake拷贝整个文件夹及文件夹内容到指定项目安装目录

执行完qmake和构建后,安装目录下会自动创建imageformats,重要的话说三遍,自动创建指定文件夹,自动创建指定文件夹,自动创建指定文件夹,之所以说三遍是因为CMake还有在安装目录下创建文件夹的命令,既然这里会自动创建指定文件夹,不是又可以省略一行cmake命令了吗?但是里面的内容更重要,所以二话不说,立即向imageformats文件夹开炮,瞅瞅里面是不是我想要的。要拷贝到项目安装目录中去的源文件夹,也就是项目源码目录中要拷贝到安装目录中去的文件夹,拷贝到可执行文件统计目录,可以解决上述。

2024-01-23 00:42:54 515

原创 QWT 6.2.0编译的库及头文件 :已经打包成3rdparty/qwt,可以直接在你的工程里cmake导入外部库,直接使用

链接:https://pan.baidu.com/s/1yDFLUxxxR8sDfMKalA8fVw?pwd=o8gg提取码:o8gg。

2024-01-20 20:31:03 489

原创 QWidget: Must construct a QApplication before a QWidget 20:10:25: 程序异常结束。

如果你在Windows上混合并匹配了Release和Debug的dll,则会导致这种情况。我的链接的库是release的版本,也就是qwt.dll,但是点击Qt Creator的运行按钮默认是debug启动,所以报错了,Qt Creator运行按钮里选择release就可以了。点击运行,完美的解决了这个问题。

2024-01-20 20:18:40 371

原创 Qt 5.15.2 (MSVC 2019)编译 QWT 6.2.0 : 编译MingW或MSVC遇到的坑

下载qwt最新版本,用git工具 git clone下载源码下载安装Qt 5.15.2链接:https://pan.baidu.com/s/1mpcVYjzjL0udYAh0TGjtrA?pwd=2sz5提取码:2sz5用Qt 5.15.2 自带的Qt Creator 5.0.2打开qwt.pro文件编译前的参数修改(网上一找一大把)打开QMAKE_RPATHDIR *=$${QWT_INSTALL_LIBS}

2024-01-19 00:06:50 1303

原创 Lisp语言 :简洁且极具扩展,被认为是上帝的语言

1962年,蒂姆·哈特和迈克·莱文在麻省理工学院实现了第一个用Lisp语言编写的完整的Lisp编译器,并且可以通过简单地使用现有的Lisp解释器解释编译器代码来编译,产生的机器码输出能够以比解释器快40倍的速度执行。IBM 704的两个汇编语言宏成为分解列表的基本操作:car(寄存器号的地址部分的内容)和cdr(寄存器号的递减部分的内容),[18]其中“Register”指的是计算机中央处理器(CPU)的寄存器。我对他说,哦,哦,你把理论和实践混淆了,这个计算是用来阅读的,不是用来计算的。

2024-01-14 22:58:00 446

原创 Simula语言 :被认为是第一个面向对象语言

Simula是两种模拟编程语言的名字,Simula I和Simula 67,由Ole-Johan Dahl和Kristen Nygaard于20世纪60年代在奥斯陆的挪威计算中心开发。在语法上,它是ALGOL 60[1]: 1.3.1的近似超集,也受到Simscript设计的影响[2]。Simula 67引入了对象、[1]:2、5.3类、[1]:1.3.3、2继承和子类、[1]:2.2.1虚拟过程、[1]:2.2.3协程、[1]:9.2和离散事件模拟、[1]:14.2和特色垃圾收集。

2024-01-14 22:55:33 397

原创 Ada语言 :第一位女性计算机程序员值得纪念,美国国防部都能自己干一门语言来设计自己的程序,美国人的实力不容小觑,中国伟大复兴是必然的,超越也是指日可待的

发布了新编程语言的提案请求,并聘请了四个承包商来开发他们的提案,分别是Red(由Benjamin Brosgol领导的Intermetrics)、Green(由Jean Ichbiah领导的Honeywell)、Blue(由John Goodenough领导的SofTech)[19]和Yellow(由Jay Spitzen领导的SRI International)。Ada是一种结构化的、静态类型的、命令式的、面向对象的高级编程语言,其灵感来自Pascal和其他语言。

2024-01-14 22:51:44 364

原创 肯·汤普逊 :我心目中的神,好像真正无敌之上的大佬都对C++提出了批判!大佬们的思想像红太阳太耀眼,常人不能直视

因为在Unix系统和C语言方面做出的贡献,他们二人在1990年共同获得了IEEE汉明奖[21],在1997年获得了计算机历史博物馆研究员奖[22],又在1999年4月27日获得了由美国总统比尔·克林顿颁发的美国国家技术与创新奖章。在60年代,肯·汤普逊还参与了正则表达式的设计,开发了QED的兼容分时系统版本,并在其中引入正则表达式支持。汤普逊在2009年的一次采访中表达了对C++的负面评价,并说“C++做很多事情都是只达到一半的程度,而且它就是一个由各种互相冲突的想法组成的垃圾堆。

2024-01-14 21:53:19 429

原创 B语言 :我心目中永远的两位神共同开发出来的语言

B的无类型特性在Honeywell、PDP-7和许多旧的计算机上是有意义的,但在PDP-11上是一个问题,因为很难优雅地访问PDP-11和大多数现代计算机完全支持的字符数据类型。[11]然而,由于各种原因,它继续在GCOS大型机(截至2014年)[12]和某些嵌入式系统(截至2000年)上使用:小型系统中有限的硬件,广泛的库,工具,许可成本问题,以及仅仅足够好地完成工作。[3]它是一种无类型的语言,唯一的数据类型是底层机器的自然内存字格式,不管它是什么。B源于BCPL,它的名字可能是BCPL的缩写。

2024-01-14 21:45:25 391

原创 BCPL语言 :这可是B语言啊,汤姆森大佬趁老婆回老家用来开发第一个unix操作系统的语言(大佬基于BCPL开发的bon语言,C语言前身)

最初的实现是一个托管在BBN的TENEX pdp -10上的交叉编译器,直接针对BBN在ARPANET中使用的第二代imp实现中使用的pdp -11。然而,它的影响仍然存在,因为BCPL的一个剥离和语法改变的版本,称为B,是C编程语言的基础。这种语言的不同之处在于它只有一种数据类型:一个字,一个固定的位数,通常被选择来与体系结构的机器字对齐,并且有足够的容量来表示任何有效的存储地址。[7]当时的程序员争论的是,C的最终继承者应该被称为“D”,即字母表中的下一个字母,还是“P”,即母语言名称中的下一个字母。

2024-01-14 21:41:20 403

原创 PL/1语言 :上古伟大的操作系统IBM System/3603的开发编程语言

PL/I (Programming Language One,发音为/pi /I w / n/,有时也写为PL/1)[1]是最初由IBM开发的一种过程式、命令式的计算机编程语言。该语言的语法类似于英语,适合于描述复杂的数据格式,并提供一系列可用于验证和操作这些格式的函数。为了实现这些目标,PL/I从当代语言中借鉴了一些思想,同时增加了大量的新功能,并将其转换为独特的简洁易读的语法。程序分为单独的可编译部分,具有广泛的编译时功能(又名宏),不是标准的一部分,用于裁剪和组合源代码部分为完整的程序。

2024-01-14 21:23:15 960

原创 ALGOL算法语言 :可以说是很多其他高级语言的启发语言

[11] Scheme编程语言是Lisp的一个变体,它采用了ALGOL的块结构和词法范围,也在其标准文档中采用了“关于算法语言方案的修订报告”的措辞,以向ALGOL致敬。从某种意义上说,大多数现代语言的语法都是“类似algol”的[3],它可以说比其他三种高级编程语言更有影响力,其中FORTRAN, Lisp和COBOL大致是同时代的。[4]它的设计是为了避免FORTRAN出现的一些问题,并最终产生了许多其他编程语言,包括PL/I、Simula、BCPL、B、Pascal、Ada和C。

2024-01-14 21:13:10 400

原创 COBOL语言 :一种主要专注于解决业务问题的编程语言

根据Micro Focus在2022年2月进行的一项全球调查,大约92%的受访者(来自49个国家的软件工程师、开发人员、IT主管和架构师)认为,今天开发的COBOL应用程序是为了服务于各自组织的战略目标。随着面向服务的体系结构(SOA)、REST和Web服务的兴起,新的协议和方法出现了,包括XML、HTML、WSDL、JSON和SOAP。COBOL的完整形式是面向业务的通用语言。COBOL的适应性和不断发展的特性使该语言经受住了时间的考验,并与现代api、微服务和云应用程序融合在一起。

2024-01-14 21:03:16 877

原创 汇编语言 :在计算机的头几十年里,完全使用汇编语言进行系统编程和应用程序编程是很常见的。

汇编程序”一词通常被认为是威尔克斯、惠勒和吉尔在他们1951年出版的《电子数字计算机程序的准备》一书中提出的[9],然而,他们使用这个术语来表示“将由几个部分组成的另一个程序组装成一个程序的程序”。在计算机编程中,汇编语言通常简称为汇编语言,通常缩写为ASM或ASM,是任何低级编程语言,其语言中的指令与体系结构的机器码指令之间具有很强的对应关系[5]。今天,通常在用高级语言实现的大型系统中使用少量汇编语言代码,这是出于性能原因,或者是为了以高级语言不支持的方式直接与硬件交互。超过97%是用c写的。

2024-01-14 20:54:35 378

原创 Basic语言 :比尔盖茨最开始用来开发程序的语言,微软的早期软件产品都是用basic语言,早期玩硬件的黑客门在硬件上基本配置的开发语言

20世纪90年代,随着功能更强大的微型计算机进入市场,以及具有高级功能的编程语言(如Pascal和C)在这些计算机上得以成立,BASIC的受欢迎程度有所下降。NET,而BASIC爱好者的场景更广泛地继续存在。基本的,基本的,基本的。20世纪90年代,随着功能更强大的微型计算机进入市场,以及具有高级功能的编程语言(如Pascal和C)在这些计算机上得以成立,基本的受欢迎程度有所下降。这重新点燃了这种语言的使用,“VB”仍然是一种主要的编程语言[2][3]. net,而基本的爱好者的场景更广泛地继续存在。

2024-01-14 20:43:12 352

原创 Fortran编程语言 :一门用于科学与工程应用开发的计算机语言,有限元分析、流体力学计算、物理及化学计算等大量工程都使用了Fortran来实现

后续版本增加了对结构化编程和基于字符的数据处理(FORTRAN 77)、数组编程、模块化编程和泛型编程(FORTRAN 90)、高性能FORTRAN (FORTRAN 95)、面向对象编程(FORTRAN 2003)、并发编程(FORTRAN 2008)和本地并行计算能力(Coarray FORTRAN 2008/2018)的支持。它已经在计算密集型领域,如数值天气预报,有限元分析,计算流体动力学,地球物理,计算物理,晶体学和计算化学中使用了70多年。

2024-01-14 20:31:46 431

原创 Bliss编程语言 :一门适合开发操作系统的语言,C语言之前用来开发操作系统的语言

  BLISS is a system programming language developed at Carnegie Mellon University (CMU) by W. A. Wulf, D. B. Russell, and A. N. Habermann around 1970. It was perhaps the best known system language until C debuted a few years later. Since then, C became popu

2024-01-14 20:10:23 411

原创 目标导向理论 : 一种高效,改变人做事精神状态,决定成事概率的行为方式

也就是说,当一个目标实现后,应适时地提出新的更高的目标,以便进入一个新的目标导向过程,从而使动机强度维持在较高的水平上,使人保持一种积极的状态。一般而言,它能提高人的动机水平。结果二:你天天泡客户,各种饭吃遍,各种娱乐场所一个没拉下,及客户之所急,痛客户之所痛,先客户之忧而忧,后客户之乐而乐,月底单子拿下,最终结果 = 目标,这就是优异表现。你千辛万苦,认真应标,加班做方案,承诺客户各种需求,结果月底还是没拿到单子,过程你努力了、付出了,但人算不如天算,最终结果 不= 目标,这就等于考核“不合格”。

2024-01-14 11:09:00 814

原创 Qt智能指针源码 :源码面前了无秘密,内功源于源码修炼

// Copyright (C) 2021 The Qt Company Ltd.// Copyright (C) 2022 Intel Corporation.// Copyright (C) 2019 Klarälvdalens Datakonsult AB.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef Q_QDOC#i

2024-01-12 23:36:34 535

原创 自定义重新实现QWidget,如果不重写paintEvent,则无法用样式表setstylesheet或用QPallete画板绘制其背景颜色

自定义CustomWidget重载并实现paintEvent就可以绘制该自定义控件的背景颜色了。

2024-01-12 15:52:52 307

原创 Qt两个问题:1、继承QWidget的控件放置于其他控件的布局器中无法设置背景颜色,但其内容确实已经嵌入到布局器中 2、在connect连接信号槽时Lambda表达式[&var]会卡死,[var]不会

【代码】Qt两个问题:1、继承QWidget的控件放置于其他控件的布局器中无法设置背景颜色,但其内容确实已经嵌入到布局器中 2、在connect连接信号槽时Lambda表达式[&var]会卡死,[var]不会。

2024-01-12 11:47:31 326

原创 python绘制三维图表 :windows平台,安装python,安装pip,安装三维图表库matplotlib

因为要显示三维图表,需要安装库matplotlib,而python包按照工具是pip。现如今,人工智能大行其道,谁还写helloworld,说出去都丢人!获取完成,快捷键Win + R,输入cmd,回车,控制台窗口,输入python。看到python的版本号,就说明python安装对了。选择你项目中支持的版本,获取就好。学习代码,抄也是个不错的办法。

2024-01-10 23:33:04 524

原创 error LNK2019: 无法解析的外部符号 “__declspec(dllimport) public: __cdecl QWidget::QWidget(class QWidget *,cla

说Qt的QWidget::QWidget构造函数外部符号链接不到,二话不说立马想到QWidget是Qt的类库,它的构造函数外部符号链接不到,这跟我的代码是否有bug八竿子打不着,但是想一想无法链接外部符号的背后精髓是找不到接口的实现,Qt的类库,它自己的构造实现我根本管不着,而且绝壁是实现了的,但是为什么链接不到呢,多半跟类库路径找不到之类有关,下面是我出问题的代码。老生常谈的套路了,先仔细把链接的错误一个字不放过。一天不解决一个链接问题,就浑身不得劲!有了猜想,验证就有了思路。

2024-01-10 15:02:31 372

原创 error LNK2019: 无法解析的外部符号 “public: __cdecl MyInterface::MyInterface(void)“ (??0MyInterface@@QEAA@XZ),

你这链接错误是跟我杠上了啊,你全家链接错误,因为元对象系统已经把你声明为了接口类,所以你的cpp就可以去与世长辞了,也就没有所有上述或者纯虚父类的外部符号因为有了实现,与纯虚父类只有声明没有实现的编译器规则不一样,所以链接器ld这个伙计就疯了一样跑出来跟你说,你想编译通过,门都没有,我若通融让你链接到正确的符号了,那纯虚接口还纯虚个毛线啊,直接跟虚接口同穿一条裤子等了,所以世界一下子清净了许多!无符号链接,程序员老生常谈的问题了,今天对无符号链接LINK再提升一个理解!回头重新看了看自己的父类。

2024-01-10 14:14:39 326

原创 以目标为导向 :尝试去改变自己做事方法,做事风格的一种方法。基于自己多年来吐血般的低效率,很多事情或目标在时间的推进中无影无踪,找不到人生目标,或总丢失之前的计划,计划会摇摆,任务的推进中变数多就迷失

第一个以目标为导向的问题,可能会把很多人惊到,那就是你的人生目标是什么?或你人生的意义是什么?如果你不以目标为导向那你可以绕过这个问题,但是你以目标为导向,那第一个问题是你的人生目标是什么?所以基于你的人生目标,你会怎么去做?小时候,学习任务是老师安排的。在家里,很多事情是父母安排了计划,只需跟随父母的计划,按部就班去做事。导致极其缺乏以目标为导向,一种思维方式有点反人类传统做事顺序执行的思维。

2024-01-08 18:03:41 346

原创 如何将Qt .Pro文件中的自定义变量内容 或 内置变量的内容 获取 到Qt的.cpp或.h中使用,如Qt的main.cpp中如何获取使用.pro文件中的$$PWD等内置变量的值

有没有同学遇到过想获取Qt项目.pro文件所在路径的,但是常规获取Qt获取文件路径方式,获得的路径并非我们想要,如我想获取resources的路径。(这里有没有想骂娘的同学,我可不想要运行路径啊,我要.pro的所在路径)_PRO_FILE_PWD_的值就是我们要的。此时,我们想到pro里,常年写pro,

2024-01-06 02:52:56 538

原创 软件测试是初级开发们比较排斥的事情,包括现在自己,但是好的开发也会是好的测试!!!关于测试你知道多少呢?

【代码】软件测试是初级开发们比较排斥的事情,包括现在自己,但是好的开发也会是好的测试!!!关于测试你知道多少呢?

2024-01-06 00:00:50 364

原创 没有计划就没有成果 :第一个个人的五年计划,慢慢意识到国家的五年计划的重要性,苏联如果没有5年计划不可能实现工业的迅猛发展,中国没有5年计划,不可能实现现在的全面小康及未来的现代化伟大复兴。

人生第一个五年计划五年后:自由创业者1年后: web网站开发,2个及以上个人产品2年后: 安卓app开发,2个及以上个人产品3年后: Java应用,2个及以上个人产品4年后:Qt高级开发工程师,3+应用(军事模拟仿真应用)

2024-01-02 11:34:26 328

原创 需求分析 :不得不重新去面对的一关。

因为自己也是不喜欢写文档大军中的一员,所以痛恨产品经理需求分析的墨迹,但是自己去真正面临并承担功能需求分析时,上述的内容,不得不做啊,不做就给自己的后续开发挖深坑,让自己跳进去。

2023-12-28 23:43:56 748

原创 MVC : python实现

在这个例子中,Model类有一个数据成员和一个用于获取和设置数据的方法。View类有一个Model对象,并有一个用于显示Model数据的方法。Controller类也有一个Model对象和一个View对象,并有一个用于更新View的方法。Controller的方法首先获取Model的新数据,然后显示旧的数据,最后设置新数据。这样,Controller就可以在不改变Model和View的情况下修改View。代码是完全吻合的,您品。

2023-12-28 23:30:19 779

原创 SICP : The Elements of Programming,Exercise 1.4、1.5、1.6、1.7、1.8

/ 计算机功能接口应该设计成黑盒接口,隐藏其内部实现,不需要知道接口内部具体实现。

2023-12-26 23:14:51 350

原创 SICP : The Elements of Programming

其实加 减 乘 除才是最牛逼的接口,左边和右边提供输入参数,最后返回计算结果,又是最基础的可以组合成更复杂单元的基础单元表达式接口。上述计算模型 square及sum_of_squares都可以是外部领域模型,所以一个大型系统可以由很多外部领域模型组合成复杂功能。

2023-12-25 23:48:53 955

原创 2023/12/25 :讲车载数据采集系统的方案

6、演讲内容的准备不充分,领导其实提前4天给我通知了今天要演讲,但是自己虽然准备了部分,其实相当于毫无准备,所以方案演讲准备极其不充分。7、讲软件方案的语速不应该快,因为根据甲方的变化,需要思考应对变化,否则强硬按照自己的思维方式演讲,甲方感受极差。您刚才讲的,我理解成1. 2. 3. 是这个意思吗?2、对甲方参与会议的人员没有介绍,对甲方主讲的姓氏没了解,不知道叫成什么老师。4、对于自己的方案演讲内容,没有简单综述要讲的方面或包括几个内容。1、对甲方客户的称呼没有使用"您"的称呼。

2023-12-25 14:10:38 312

空空如也

空空如也

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

TA关注的人

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