自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT1995的博客

博主QQ570176391 个人作品网站:www.it1995.cn

原创 Qt工作笔记-QHash与QMap查找速度粗略比较实战

因为工作需要,要大量用到查找,关于查找,在Qt中比较常用的就两个,一个QHash,一个QMap,关于谁快,谁慢,官方已经给出了答案但我们来实战下,因为时间复杂度的多少,在真实运行情况下有的时候,差距并不是特别大。影响速度的条件有很多,其中就有数据量少,但这仅仅是其中的一个。下面的实验是从15万的数...

2018-06-29 16:18:18 5267 0

原创 C++工作笔记-根据父类指针获取子类类型(或不同的对象)

程序运行截图如下:解决此问题的关键是:父类用一个虚函数返回一个值。每个子类通过对这个值设置不同的数据。从而判断不同的类,或不同的对象;代码如下:#include <iostream> #include <vector> using names...

2018-06-29 14:45:00 5354 1

原创 Qt学习笔记-编写简易的音乐播放器

程序运行截图如下: 再次添加一个音乐并播放: 代码如下: widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QModelIndex&...

2018-06-29 11:04:35 5989 3

原创 Qt工作笔记-树图结构的2种方式,实现右键菜单

程序运行截图如下: 一种是使用setContextMenuPolicy然后使用信号和槽关联。 一种是重写void contextMenuEvent(QContextMenuEvent *event); 程序结构如下图: 代码如下图: mytreeview.h #ifndef...

2018-06-27 10:12:55 3592 1

原创 反汇编基础-数组和指针的反汇编代码分析

程序源码如下:#include <stdio.h> int main(){ const char c = 'A'; char str[] = "Hello World!"; str[0] = c; str[1] = &...

2018-06-27 09:42:20 3948 1

原创 设计模式工作笔记-简单工厂场景与实现(针对接口编程的设计思想)

简单工厂:通过接口的方式,把实现和变化隔离接口编程:是一种特殊的抽象类,是一个纯虚类。通常接口来定义类的外部,就相当于一份契约,其实就是根据外部应用需要的功能,约定了实现类应该要实现的功能。软件开发中永恒的主题是“变化”,接口的最重要的一个设计语义就是封装变化,也就是隔离变化(内部实现对外部是透明...

2018-06-27 09:14:07 3463 1

原创 C++工作笔记-设计普通类的格式,实现简单工厂中接口的定义

运行截图如下:(然并卵)代码如下:#include <iostream> #include <string> using namespace std; class Api{ public: virtual void print(strin...

2018-06-27 08:51:45 3449 1

原创 Qt工作笔记-对QItemDelegate自定义委托的理解

关键是重写这四个函数:QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; void setEdi...

2018-06-26 17:05:43 3925 0

原创 C++工作笔记-对static_cast的进一步认识(强制转换改变内存,并且删除存在的问题)

static_cast关键字(编译时类型检查)代码如下:#include <iostream> using namespace std; class Base{ public : Base(const int baseData){ m_baseData = b...

2018-06-26 14:23:21 3697 0

原创 C++工作笔记-对const_cast的理解

先上代码:#include <iostream> using namespace std; class MyClass{ public : MyClass(const int data = 0){ m_data = data; } void print()...

2018-06-26 11:16:51 3535 0

原创 Qt工作笔记-自定义模型【继承QAbstractTableModel】

程序运行截图如下:代码如下:mymodel.h#ifndef MYMODEL_H #define MYMODEL_H #include <QAbstractTableModel> #include <QVector> #include &a...

2018-06-26 10:22:01 5692 0

原创 Qt工作笔记-QGraphicsScene练习【Qt图形框架练习】

程序运行如下图所示:程序结构如下:代码如下:directitem.h#ifndef DIRECTITEM_H #define DIRECTITEM_H #include <QObject> #include <QPoint> #includ...

2018-06-25 15:43:05 7944 2

原创 C++工作笔记-getter/setter方法中大佬的风格

今天看了Qt官方文档,发现大佬都是这样写代码的,用更新了我对编码风格的认识,代码如下:#include <cstdio> class MyClass{ public : int getData() const{ return m_data; } void s...

2018-06-25 09:48:01 5318 1

原创 设计模式工作笔记-UML和设计模式导论

UML类图:类与类图:1、类封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称;2、在系统中,每个类具有一定的职责(要完成什么样的功能),一个类可以有多个职责,设计得好的类只有一个职责,将类的职责分解成为类的属性和操作。3、类的属性及类的数据职责,类的操作即类...

2018-06-24 23:02:02 3426 1

原创 反汇编基础-数据类型以及C++引用、指针反汇编后的概括

反汇编中的数据类型在汇编中,无论是字符串类型,整数类型还是其他类型都只有2个关键单位,地址、长度【注意:LEA为取地址指令】引用和指针的汇编代码:引用并不会影响程序的执行效率,使用引用又比指针多了编译器的检测所以在编写C++程序时应该抛弃指针,拥抱引用。const为编译期检查下面先来看一个C++源...

2018-06-24 21:32:11 3629 1

原创 反汇编基础-寄存器及内存

反汇编基础-寄存器及内存PC机中4大存储单元1.硬盘:长时间大量存储数据,因为硬盘速度慢,在程序运行时就将硬盘中的数据加载到内存中。2.内存:内存的存储速度比硬盘快,但还是没CPU快。3.高速缓存:保证CPU的速递,就在CPU中加入了高速缓存,对CPU中的数据进行预读,如果CPU下次运算需要的数据...

2018-06-21 23:03:20 3854 1

原创 Qt学习笔记-QSqlModel的事物操作

程序运行截图如下:代码如下:connection.h#ifndef CONNECTION_H #define CONNECTION_H #include <QMessageBox> #include <QSqlDatabase> #incl...

2018-06-21 17:23:38 3920 1

原创 C++工作笔记-Windows下查找窗口句柄并让其显示在桌面

程序运行截图如下:此处分2种情况,1.句柄处于最小化,2.句柄处于非最小化。代码如下:#include <windows.h> #include <iostream> using namespace std; int main(){ H...

2018-06-21 13:53:50 5881 1

原创 Qt学习笔记-SQL的基本操作【创建、查询、添加、索引等】

程序运行截图如下:代码如下:connection.h#ifndef CONNECTION_H #define CONNECTION_H #include <QMessageBox> #include <QSqlQuery> #include...

2018-06-20 22:53:22 5119 1

原创 Qt工作笔记-在QTreeView上实现模型数据的拖拽

运行截图如下:逻辑是:1.QTreeView开发拖拽功能。2.在自定义模型中重写flags(const QModelIndex &index) constmimeData(const QModelIndexList &indexes) const实现拖的功能3.在自...

2018-06-19 19:04:58 8716 5

原创 Qt工作笔记-MineData相关基本操作

QMimeData类提为数据提供一个容器,用来记录关于MIME类型数据的信息QMimeData常用来描述保存在剪切板里信息,或者拖拽原理QMimeData对象把它所保存的信息和正确的MIME类型连接起来来保证信息可以被安全的在应用程序之间转移,或者在同一个应用程序之间拷贝QMimeData对象通产...

2018-06-19 11:30:41 3858 1

原创 Qt工作笔记-QVector与QMap查找效率实战

因为项目使用QVector,太慢了,听说QMap比QVector查找时快,所以写一个小程序试试;从30000个数据中找5000个程序运行截图如下:代码如下图:widget.h#ifndef WIDGET_H #define WIDGET_H #include <QWidget&am...

2018-06-14 23:53:43 6093 1

原创 Qt工作笔记-视图/模型以及过滤代理模型的使用

程序运行截图如下:代码如下:widget.h#ifndef WIDGET_H #define WIDGET_H #include <QWidget> class QSortFilterProxyModel; class QDataWidgetMapper; clas...

2018-06-14 09:03:13 4096 1

原创 Qt工作笔记-QFileSystemModel创建文件系统信息模型

程序运行界面如下:总结下他的逻辑步骤:1.实例化一个模型;2.设置模型的根路径(要监视的路径);3.为视图指定索引;4.最后指定根索引;代码如下:#include <QApplication> #include <QFileSystemModel&...

2018-06-13 07:42:52 3979 0

转载 QML与C++混合编程详解

转载地址:https://www.cnblogs.com/findumars/p/6090850.html1、QML与C++为什么要混合编程QML与C++为什么要混合编程,简单来说,就是使用QML高效便捷地构建UI,而C++则用来实现业务逻辑和复杂算法,下面介绍了两者间交互的方法与技巧。2、QML...

2018-06-11 16:47:47 3683 0

转载 Qt的信号槽机制介绍(含Qt5与Qt4的差异对比)

一 闲谈:        熟悉Window下编程的小伙伴们,对其消息机制并不陌生, 话说:一切皆消息。它可以很方便实现不同窗体之间的通信,然而MFC库将很多底层的消息都屏蔽了,尽管使用户更加方便、简易地处理消息,但也让人特别是没有Win32编程基的人感到迷茫,不是为何,笔者也是深受其害的。    ...

2018-06-11 15:55:23 4235 0

转载 Qt工作笔记-Qt元对象系统解析【2合1】

博文转载地址:https://blog.csdn.net/spwper/article/details/51332187说Qt信号与槽是一个很好机制,不如说Qt的元对象系统很强大。这也是大家讲Qt就必须将信号与槽,讲信号与槽就要讲Qt的元对象系统。当然初学者知道怎么用就OK啦,当然随着你写的代码越...

2018-06-11 15:47:53 3664 1

转载 Qt工作笔记-对qmake的认识【两篇转载结合】

关于qmake其实可以使用qmake生成各种类型编译器的文件。比如下面的这一条命令:qmake -tp vc XXXXXXXX.pro -spec win32-msvcXXXX 如msvc2010下面是转载的:原文地址:https://blog.csdn.net/linear_luo/articl...

2018-06-11 15:18:24 3727 2

原创 Qt工作笔记-第一个QML(QQuickView显示QML文件)

程序运行截图如下:程序结构如下:代码如下:main.cpp#include <QApplication> #include <QDir> #include <QQuickView> #include &lt...

2018-06-11 10:54:34 3796 4

原创 Qt工作笔记-仿大佬风格代码(使用#ifdef Q_OS_WIN32)

程序运行截图如下:代码如下:#include <QApplication> #include <QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv...

2018-06-11 09:49:44 6704 4

原创 Qt学习笔记-带TCP数据传输的局域网聊天软件

程序运行截图如下:然后选择一个文件,进行传输。程序结构如下:代码如下:tcpreceiver.h#ifndef TCPRECEIVER_H #define TCPRECEIVER_H #include <QWidget> #include <QAbstr...

2018-06-10 11:09:37 3817 2

原创 TCP/IP学习笔记-Qt中的ReuseAddressHint以及SO_REUSEADDR,以为组播常用场景分析

最近在看一个局域网聊天的源码(Qt做的)发现大佬用了这样的代码:udpSocket->bind(port, QUdpSocket::ShareAddress | QUdpSocket::ReuseAddressHint);根据文档可以知道这个ShareAddress,允许其他的服务(...

2018-06-10 00:14:58 5379 0

原创 Qt学习笔记-Qt实现文件传输功能(基于TCP)【客户端传给服务器】

程序运行截图如下:在服务端程序的目录下就可看见发送的程序。程序结构如下图所示:源码如下:客户端:widget.h#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QAbstrac...

2018-06-09 21:05:58 20551 27

原创 Qt工作笔记-QCustomplot绘制表,实现输入定位功能

运行截图如下:文件结构图如下:代码如下:widget.h#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QVector> #include "qcust...

2018-06-09 10:42:23 4092 0

原创 Qt工作笔记-获取选中的文件名(lastIndexOf的使用)

运行截图如下:代码如下:widget.h#ifndef WIDGET_H #define WIDGET_H #include <QWidget> namespace Ui { class Widget; } class Widget : public QWidge...

2018-06-07 23:08:25 4932 4

原创 Qt工作笔记-可拖动大小的QListWidget(使用QDockWidget)【QMainWindow与QWidget中的天坑】

本次基本上没有代码,全是用designer搞出来的。QMainWindow设计图如下:程序运行截图如下:而使用QWidget呢。界面如下:此处的QDock是不能拖动的,在此不再用动态图演示...

2018-06-07 16:26:42 4334 4

原创 Qt工作笔记-可拖动大小的QListWidget(自定义控件方式)

运行截图如下:代码如下:mylistwidget.h#ifndef MYLISTWIDGET_H #define MYLISTWIDGET_H #include <QObject> #include <QListWidget> class...

2018-06-07 15:29:22 5406 8

原创 Qt学习笔记-简单的TCP程序

运行截图如下:代码如下:客户端:widget.h#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QAbstractSocket> class QTcpSocket...

2018-06-06 22:51:22 3839 1

原创 Qt工作笔记-对QXmlStreamWriter进一步的认识(写复杂的XML文件)

本程序已经极度精简了,运行截图如下:代码如下:#include <QApplication> #include <QXmlStreamWriter> #include <QDebug> #include &...

2018-06-06 22:03:17 5368 3

转载 套接字中缓冲区

原博文地址:https://www.cnblogs.com/justkong/p/7657363.html套接字中缓冲区1、MTU(Maximum Transmission Unit)最大传输单元,在数据链路层中,往往规定了MTU大小,IP层的数据包通过数据链路层如果大于MTU,将被分片,到达接收...

2018-06-05 09:41:14 4203 2

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