自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 问答 (1)
  • 收藏
  • 关注

原创 Qt removeOne函数解析

如下,使用removeOne是否会导致空指针呢#include<iostream>#include "QVector"#include "QDebug"int main(){ QVector<int> a{ 1,2,3,5,6 }; for (auto item : a) { a.removeOne(2); } for (auto item : a) { qDebug() << item; } std::cout <<

2021-09-30 10:03:56 2074 1

转载 Qt close()、reject()、closeEvent的联系

Qt对话框与窗口的关闭和隐藏(QCloseEvent、Qt::WA_DeleteOnClose属性、Qt::WA_QuitOnClose属性)本文为原创文章,转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇)1、为方便讲解,本文对以下概念作一区别 删除:是指窗口被销毁,也就是说窗口不存在了。比如窗口使用new创建的,则表示窗口被delete了,被销毁的窗口不能被再次使用,否则会发生内存错误。 隐藏:是指窗口不可见,但窗口并未被销毁,使用show()等函数,可以让该窗口再次可见。 关闭:是指

2021-09-29 09:12:44 3855

转载 宏和函数 的区别

带参数的宏看起来和函数类似,但宏展开仅仅是字符串的替换,不会对表达式进行计算。宏既不参与编译,也不占用内存。宏的本质是文本替换#include <iostream>using namespace std;#define SAY_WHAT(whatasd) \void helllo##whatasd(char* whatasd)\ { \ cout << whatasd << endl;\ }namespace jian { SAY_WH

2021-09-27 16:48:09 336

原创 QT编码转换研究

分析:在qt creator中,默认编码是utf8,当再使用u8时,实际相当于再u8基础上又进行了一次u8转换在vs中,默认使用本地编码方式,可以通过头声明将默认编码改成u8示例1:示例2:示例3:说明:vs默认使用的是gb2312...

2021-09-10 10:33:10 730

原创 QT的runJavaScript初始化window.onload

背景:需要在qt的qwebengineview中显示根据需要显示不同的网页,网页由xml和xsl实现。问题:怎么在加载时完成含参的初始化实现:view->page()->runJavaScript(QString("window.onload=function(){test('%1')}").arg(ruleName));解释:在执行runJavaScript直接执行将window.onload作为代码块,然后通过arg完成传参。...

2021-09-08 10:44:20 654

原创 js加载xml和xsl

<html><head><script type="text/javascript">window.onload = function (){ //use XHR to load var xmlhttp = new XMLHttpRequest(); xmlhttp.open("get", "simple.xml", false); xmlhttp.send(null); var xmldom = xmlhttp.res...

2021-09-07 14:14:48 330

原创 引用传参与用引用代替返回值的好处

在进行值传递时,实际上在内存中会产生参数的副本,而引用传参实际上相当于实参的别名,因此使用引用传参没有传值和生成副本的时间和空间消耗。当程序对效率要求比较高时,这是非常必要的.同样的,在使用return返回时,也内存中也会产生参数的副本,而使用引用结束返回值则避免了这种情况。当我们使用引用但又不想修改参数时,可以用const修饰...

2021-08-16 11:32:49 262

原创 QFile readline()函数遇到的问题

函数功能为使用Qfile::readline逐行从文件读取内容,每行内容为(double值 string值 或只有double值),其中double值实际上需要通过QString::todouble()得到,之后将读出的内容保存到一个新的文件,发现一个问题就是 只有double值的行会在新文件中无法自动换行,而同时包含了double值 string值的行在新文件中也会自动换行。经过分析,找到原因:Qfile::readline会自动添加换行符,而QString::todouble()...

2021-08-13 19:31:44 1812

原创 关于C++ NEW关键字

c++中,使用new关键字在堆中创建了一块内存空间,随后用指针变量指向了这个空间,所以new关键字对应的一定是一个指针变量 ,如 int* p=new int;

2021-08-05 23:04:46 291 1

原创 TortoiseGit git log 有蓝色、有灰色,有什么区别

蓝色表示变更只跟这个目录有关系,灰色是同一次提交中其它目录中的变更。

2021-08-05 08:42:25 812

原创 基于TortoiseGit如何回退单个文件

1.首先,打开日志,点击显示日志2.首先选择版本,右键点击对话框中需要回退的文件(如two.txt),选择还原到此版本即可将文件还原到选中的版本,选择还原到父版本即可将文件回退到选中文件的上一版本。3.注意如果直接选中版本,然后右键点击“还原此版本做的变更”,则本版本所做的所有变更都会被还原。4.注意忽略文件忽略文件(以下内容引自git book)一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件...

2021-08-04 20:09:58 1580

原创 编译、链接、生成解决方案详解

(以vs为例)编译:编译器对源代码进行处理,将源代码变成了.obj文件链接:链接器将编译后生成的.obj文件进行链接,链接完成后生成可执行文件(.exe)生成解决方案:解决方案指的是完成一个项目的解决方案。在项目中,除了自己编写的代码外。往往还会用到第三方库等,生成解决方案就是综合你完成项目所用到的所有资源,根据你配置的参数(各个项目属性,引用目录,解决方案属性等等),生成帮助你完成目标的工具(可以运行的程序等),当然你下载的开源库一般就是生成静态库(.lib)或者动态库(.dll),因为他们的

2021-07-29 17:23:37 1301

转载 C++ 容器和迭代器

容器是什么 在C++中,容器被定义为:在数据存储上,有一种对象类型,它可以持有其他对象或指向其他对象的指针,这种对象类型就叫做容器。简单理解,即容器就是保存其他对象的对象。而且,这种“对象”还有处理“其他对象”的方法。 容器是随着面向对象语言的诞生而提出的,它甚至被认为是早期面向对象语言的基础。现在几乎所有面向对象语言中都伴随着一个容器,C++中则是标准模版库(STL)。 C++采用基于模版的方式处理容器,STL中的容器提供了多种数据结构。迭代器iterat...

2021-07-27 13:58:21 243

原创 关于QT default

官方文档:default : boolThis property holds whether the push button is the default button.Default and autodefault buttons decide what happens when the user presses enter in a dialog.A button with this property set to true (i.e., the dialog's default but

2021-07-26 14:36:52 615

转载 数组越界检查

C语言非常重视运行时的效率,所以没有进行数组越界检查,而C++继承了C的效率要求,自然也不做数组越界检查。(检查数据越界,编译器就必须在生成的目标代码中加入额外的代码用于程序运行时检测下标是否越界,这就会导致程序的运行速度下降)例如下面这段代码: int a[2];//定义一个长度为2的int型数组a a[0] = 1; a[1] = 2; a[2] = 4;//越界 for (int i = 0; i < 3; i++) printf("...

2021-07-24 23:09:51 1983

空空如也

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

TA关注的人

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