- 博客(19)
- 收藏
- 关注
原创 QSettings常用方法
QSettings常用方法1.创建QSettingssetting = new QSettings(QCoreApplication::applicationDirPath()+"/config.ini", QSettings::IniFormat);//找到当前可执行目录下,判断是否存在config.ini配置文件,不存在则新建config.ini2.setValue和Value函数//设置Value,config.ini会自动以Key-value
2021-06-26 15:37:49
966
原创 QT出现error closing -:Invaild argument
最近Qt使用中出现error closing -:Invaild argument错误,但是奇怪的是debug没问题,release一直报这个错误:试了重新构建,删除了.pro.user文件重新构建都不行,后来把生成的build-XXX_Qt_5_7_1_MinGW_32bit-Release全部删除,再重新编译就可以了。...
2021-05-31 10:36:27
926
原创 C++深拷贝构造函数的运用
深拷贝和浅拷贝的区别拷贝构造函数是用于将一个对象复制到新创建的对象中。浅拷贝只是复制了对象的引用地址,两个对象指向同一个内存地址,所以修改其中任意的值,另一个值都会随之变化,这就是浅拷贝深拷贝是将对象及值复制过来,两个对象修改其中任意的值另一个值不会改变,这就是深拷贝说明C++类中存在默认的隐式拷贝构造函数,每当程序生成了对象副本时,编译器都将使用复制构造函数。这种默认的隐式构造函数是按...
2019-06-24 11:22:06
3836
原创 打包解包
#include "stdafx.h"#include "iostream"#include "fstream"#include <string.h>using std::fstream;using std::ios;using std::string;struct index{ size_t offset;//文件偏移量 size_t FillSiz...
2019-06-11 09:43:42
544
原创 STL set-multiset
set和multiset特点set和multiset是以RB-tree(红黑树,平衡二叉树的一种)为底层机制,查找效率非常好,所有元素会根据元素的值自动进行排序set容器中不允许重复元素,multiset允许重复元素3.multiset和 set不可以通过迭代器来改变元素的值。因为multiset和 set集合是根据元素值进行排序,关系到multiset和 set的排序规则,如果任意改变...
2019-05-12 11:14:43
173
原创 STL栈、队列、链表容器特点
栈容器——stack容器规则:先进后出特点:栈不能遍历,不支持随机存储,不提供迭代器,只能通过top从栈顶获取和删除元素要想访问栈底元素,只能不断出栈,没有at与[ ]队列容器——queue规则:先进先出特点:一端插入,另一端删除不能进行遍历,不提供迭代器,不支持随机访问队列与栈的实例queue<stack<int>> v; stac...
2019-05-07 16:49:24
268
原创 STL-vector小技巧
vectorvector是一个动态数组,是一个单口容器,支持随机访问。动态增长当插入新元素的时候,如果空间不足,那么vector会重新申请更大的一块内存空间(vector首地址会发生改变)将原空间数据拷贝到新空间,释放旧空间的数据,再把新元素插入到新申请空间size()和capacity()区别size()表示vector数组元素的个数。capacity()表示vector容...
2019-05-01 11:57:03
141
转载 QT数据库错误
转载:http://blog.sina.com.cn/s/blog_82544279010128iu.htmlQSqlDatabasePrivate::addDatabase: duplicate connection name ‘qt_sql_default_connection’, old connection removed.QSqlDatabasePrivate::addDatabas...
2019-04-19 17:08:15
959
转载 Qt QAbstractSocket::isValid()
最近使用isValid函数来判断tcp连接是否有效,然后发现断开tcp仍然有效,上网查了资料搜寻:原文链接:https://blog.csdn.net/lizuobin2/article/details/52293984我曾经多次在 Qt socket 编程中使用 tcpSocket.isValid 来判断我当前的连接是否可用,最近写程序时才发现此法并不妥当。bool Q...
2019-04-17 19:30:45
1883
原创 C++设计模式之开闭原则
开闭原则开闭原则主要概括为:对扩展开放,对修改关闭。增加功能是通过增加代码实现的,而不是修改源代码。程序员更喜欢添加类来增加功能,而不是修改源代码。修改源代码及其容易犯错,若项目文件过大时,类与类的关联性强,改的地方就会特别多。一个类最好只做一件事情。例如下面代码:第一种class calculator{public: calculator(int a, int b, stri...
2019-04-14 16:41:32
733
原创 Qt int 十六进制数组转化为QByteArray
说明:在自定义通信协议的时候需要用到十六进制。定义一个十六进制整形数组,并将该整形数组一个个赋值给QByteArray,它会自动进行转换成字符类型。例如 int array[]={0x20,0x35,0x45,0x68,0x88}; arr.resize(sizeof(array)/sizeof(array[1])); for(int i = 0;i < (...
2019-04-11 17:12:24
5262
原创 STL 小案例
案例说明:ABCDEF6名学生考三门试卷,分数随机在70-99之间,最后总分进行排序。#include <iostream>#include <vector>#include <string>#include <map>#include <time.h>#include <functional>#incl...
2019-04-11 11:21:49
195
1
转载 C++学习 operator两种用法详解
转换函数的名称是类型转换的目标类型,因此,不必再为它指定返回值类型;转换函数是被用于本类型的数值或变量转换为其他的类型,也不必带参数在写这篇文章之前,让我们先回顾一下编译器通过匹配过程确定调用哪一个函数的匹配顺序:(1)寻找和使用最符合函数名和参数类型(包括返回值)的函数,若找到则调用;(2)否则,寻找一个函数模板,将其实例化产生一个匹配的重载函数,若找到则调用;(3)否则,寻找可以...
2019-04-08 17:27:46
1099
原创 QChart与QCustomPlot简单运用
QChart的使用条件 :需要在.Pro文件添加QT += charts四个头文件的作用#include <QChart> //类似于画笔#include <QChartView> //类似于画布#include <QLineSeries> // 类 Series 是用来添加数据的对象(可以理解为一个集合)#include <QVal...
2019-03-30 18:44:42
3979
1
原创 Qt创建的子线程不断循环,主线程界面一直处于无响应状态
说明今天用子线程处理数据,但只创建了子线程,还没有来得及让子线程处理大量的数据。在子线程只作了简单处理,发现主线程界面一直不能响应,在主线程让子线程参数isStop= true,也跳不出循环。while(!isStop){ emit mySignal(); if(isStop) break;}后来在子线程加入QThread::sleep(1);主线程就...
2019-03-29 20:30:47
5493
2
原创 Qt基础数据类型
Qt基础数据类型qint8:signed char有符号8比特数据qint16:signed short16位数据类型qint32:signed int.32位有符号数据类型qint64:long long int 或(__int64)64位有符号数据类型,Windows中定义为__int64qintptr:qint32 或 qint64指针类型 根据系统类型不同而不同...
2019-03-23 19:21:47
1520
1
原创 QT 信号与槽
QT 信号与槽1、signals前面不可加public、private和protected进行修饰;slots前面可以加,因为Qt说槽函数可以当普通函数使用。2、signals区域的函数必须是void类型,而且这些信号函数没有函数体,也就是说不可以自己定义这些信号函数,你只要声明它就够了,其它不用管,Qt内部自己弄。3、宏定义和函数指针不能用于信号和槽的参数,信号和槽也不能有缺省...
2019-03-23 19:19:17
220
原创 数组指针和指针数组
数组指针和指针数组数组指针int(*pas)[10] pas指向于包含10个元素的int数组的指针 (括号不能去掉,方括号的优先级大于 *优先级.)指针数组int arp[3] = {&s1,&s2,&s3}存放指针的数组 int* ppa = arp;c++11版本编译器知道arp的类型,auto ppb = arp;...
2019-03-15 10:08:19
131
原创 string类相对于char数组的优势
string类相对于char数组的优势1.string对象声明为一个简单变量,字符数组只能是一个数组2.string对象可以赋给另一个对象,而不能将一个数组赋给另一个数组string str1 = “hello”;string str2;str2 = str1;3.string简化了字符串合并操作//string s1;//string s2 = “feaabc”;//...
2019-03-15 09:54:52
847
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人