- 博客(86)
- 资源 (17)
- 收藏
- 关注
原创 C++幕后故事(七)--一个对象的生与死
C++幕后故事(七)–一个对象的生与死这节里面我们会学习到以下四点:1.对象的生成时机2.对象构造过程和POD类型3.对象的复制语意4.析构语意1.对象生成的时机根据对象的控制力度不同,对象的生成时机也是不一样的。我们可以把它分为两类:1.new操作符用户手动控制时机,随时new,随时生成。2.编译器控制下也是有细微的差别,请看下面的表格。全局对象/...
2019-10-28 13:45:59 675 1
原创 C++幕后故事(九)--我们来new个对象
读者如果觉得我文章还不错的,希望可以多多支持下我,文章可以转发,但是必须保留原出处和原作者署名。更多内容请关注我的微信公众号:cpp手艺人。这个章节我们主要学习以下几个知识点:1.数据成员绑定时机。2.多种模型下数据成员布局。3.数据成员如何读取的。4.进程内存布局1.数据成员绑定时机大家一看标题可能有点懵了,什么叫数据成员的绑定时机。请随我看段代码,这段代码节选自《深入探索C++...
2019-10-14 10:52:21 1076 1
原创 git status和git push扩展脚本
我在使用过程中发现,我的仓库可能有多个远程服务器,每次git push gitee && git push github && git push home,很是费劲。就是先遍历所有已经修改过的文件,向bash 中写入环境变量。的时候,再引用写入的环境变量,比如:$dolphin_cpp,这样就可以了。在使用这个命令之前,你要确定你的本地分支已经和远程分支关联了。其实是我对shell脚本起了别名,我把放在.bashrc中,查看工作区的变化,我想看某个文件的变化必须使用。在之前的时候,我是用。
2023-05-09 19:33:28 683 1
原创 一个开源的小项目Platypus
platypus 是一个对git bash窗口的管理,效果就是类似chrome浏览器那样,对bash窗口进行管理,可以随意的切换和创建。
2023-03-27 16:34:06 1061
原创 QWebEngine图片渲染性能优化
我们有一个这样的场景,就是利用QWebEngine把网页渲染成图片,再传给服务器。我们当初采用QWebKit来渲染的,因为考虑网页可以更灵活,而且实现起来简单。当时当我们升级Qt版本从5.5升级到5.15之后就发现,在性能差的虚拟机里面渲染2张图片,几百KB的图片就已经很吃力了。往往渲染的图片不正常,有部分黑影。最主要的就是图片渲染得不全,一边有图片一边是黑色背景。
2022-09-19 13:05:17 893
原创 shellexecute启动程序出错
ShellExecute执行,程序报错。required application data could not be found.
2022-07-20 15:20:21 1480
原创 Python读取exe中导入的dll名称
在项目中经常添加一些Qt模块,但是如果每次打包人工的去搜索复制,也是一件挺烦人的事情。所以写个脚本去做这件事情,顺理成章的事情。顺便学下python语法。
2022-06-29 15:12:48 828
原创 美化QTabWidget(3)
增加无边框窗口功能(缩放,移动)增加tab贴图功能双击关闭tab可以设置是否需要绘制“+”按钮。支持tab拖拽,合并将绘制接口导出来,方便用户自定义绘制和贴图
2022-06-23 13:54:49 1163
原创 Qt中诡异现象UI被切割的问题
项目升级到Qt 5.15.2之后就发现这个诡异的现象,但是Qt 5.5就没有这个现象。很是麻烦,一点头绪都没有。我们先来看下现象。再看看异常的UI:这两张图片可以看出明显的不一样。第二张图片里面的控件像是被拉伸,切割了一样。其实在真实的项目场景中,UI就像被是切割了一样。先说原因,其实这个是因为系统的DPI发生了变化,导致界面进行了缩放。比如:我先把系统的DPI设置150%,然后软件也会跟着放大1.5倍。我再把系统的DPI还原为100%,此时软件应该恢复到原来的大小,但实际上并没有,而是大小被切割了一
2022-06-14 12:52:58 794
原创 排查自模拟QWheelEvent事件不能向上传递排查
排查自模拟QWheelEvent消息不能向上传递1、事情起因因为我们的项目需要做一次大升级。从Qt 5.5升级到Qt 5.15.2.0,这个大版本的升级真是把我折腾的够呛。在我们的项目中,自己模拟了一个鼠标滚轮消息的。利用QApplication::postEvent()函数,向消息队列中发送一个QWheelEvent消息。这样就可以控件就可以自动滚动了。但是项目升级到Qt 5.15.2.0之后发现不行了。擦了擦额头的汗,这个bug怎么修啊?无从下手的感觉。去请教别人?万一,别人觉得我很low怎
2022-05-19 09:16:52 399
原创 Qt vs2013升级到vs2019
upgrade vs 2019 注意事项 自定义的Vector和系统的定义冲突winnt.h(RtlValidateCorrelationVector( In PCORRELATION_VECTOR Vector))如果要定义类型,请定义标识性特别强和项目名称相关。 这个问题在于报出的error,很难去排查。头文件引入不规范 比如里面用到了QPainterPath class,但是在实现时未引用头文件,在vs2013上可以编译通过,高版本编译未能通过。一些stl函数废
2022-05-17 22:58:37 877
原创 美化QTabWidget (2)
美化QTabWidget(2)1.效果展示 2.用法展示 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); setupUI(); QWidget *widget = new QWidget(); widget->setStyleSheet("background-colo
2022-05-08 23:16:13 1348
原创 美化QTabWidget
美化QTabWidget1.效果展示 2.用法展示 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); setupUI(); ui->tabWidget->addTab2(new QWidget(), tr("this is first tab"));}MainWindo
2022-04-18 19:17:47 1890
原创 3步格式化代码为 chromium 风格
1.clang 插件安装我使用的环境是VS2019,所以安装插件就很简单了。然后点击安装就可以了。再次打开VS2019,就可以看到这里的快捷键了2.VS 配置到这里我们就可以使用chromium风格了。使用方法:每次写完代码,按下组合键Ctrl+R Ctrl+D 就会自动帮你格式化代码了。3.cpplint安装Google也提供了一个工具,可以帮助我们检查代码风格,是否满足要求。前提条件:需要安装Python环境pip install cpplint安装完成之后,输入你要检
2022-01-26 14:20:19 1149
原创 libCef退出流程整理
libCef 退出流程整理 1.Check failed: !IsCefShutdown(). Object reference incorrectly错误原因 在实际的开发中,我们在推出cef时候可能会遇到如上的提示错误信息。我们先来从这个错误信息能得出那些重要的信息:首先它只有在debug模式下才会出现的错误,因为release版关闭检测。其次,我们可以简单的了解到对象被不正确的引用。再翻译下就是在退出的时候,资源没有正确的释放。就是退出的时候资源没有清理,造成了资源泄露2.解决方.
2022-01-12 19:14:32 2604 2
原创 Qt6.2.2+libCef Demo
Qt 6.2.2 + libCef Demo 先看看效果如何:1.如何集成 1.1 目录整理 在编译好libCef文件之后,我们需要对文件目录做一些整理。libCef的include头文件libCef编译的二进制文件自己的源码目录使用vs2019创建Qt项目,这里我就略过。最后目录格式如下所示:│ QCefWindow.sln│ QSimpleCef.vcxproj│ QSimpleCef.vcxproj.filters│ ├─bin│ ├─debug│ │
2022-01-04 19:10:18 1687
原创 vs2019编译libcef
vs2019编译libcef 1.材料准备 libcef官网地址:https://bitbucket.org/chromiumembedded/cef/src/master/libcef二进制下载地址:https://cef-builds.spotifycdn.com/index.html#windows32版本:cef_binary_96.0.16+g89c902b+chromium-96.0.4664.55_windows32cmakevs enterprise 2019我原本以为我的
2021-12-28 16:37:30 1124 1
原创 最新版Qt6.2.2首发编译
Qt 6.2.2编译编译大型项目源码这件事情,你要是没有搞过,肯定觉得多少都有些难度,但是你一旦实践过,你就会在心里有个大概。所以不要有抵触情绪,动手去实践。从我实践的经验来看,核心就是一点:环境的配置。如何做到环境的最优配置,不污染其他的环境才是核心,还要注意配置信息的输出。一个大型项目,代码基本上没有问题的。如果在编译过程的出现一些非常低级的编译错误,我觉得极大的可能性环境配置有问题。比如,我在编译过程出现的问题: D:/qt/qt-everywhere-src-6.2.2/qtbase/.
2021-12-16 16:33:40 4583 13
侯捷的多型与虚拟的sourc ecode
2017-10-17
(C语言)字符串库
2015-01-20
小甲鱼汇编语言课件+源代码
2014-11-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人