- 博客(70)
- 资源 (11)
- 收藏
- 关注
原创 QGraphics View Framework之QGraphicsItem
Qt的QGraphics View Framework有三个基本构成元素——QGraphicsView、QGraphicsScene和QGraphicsItem,本文来讲讲这个QGraphicsItem,不过在学习它之前最好先搞清楚它们三者之间的关系,详情见视图框架组成成员的关系我们在了解它时从一下几个方面下手,分别是现有Item类、位置信息、转换、绘制现有item类这些都是Qt...
2020-02-06 00:12:17
439
原创 QGraphics View Framework简述
QGraphics View Framework的基本构成和它们之间的关系Qt视图框架QGraphics View Frame有几个基本构成元素,分别是QGraphicsView、QGraphicsScene和QGraphicsItem,这三者分别提供了视图化元素、管理视图元素的容器和视图元素的能力。也就是说QGraphicsItem是基本的图形元素,如一个矩形、一条线、一段文字或者一张照片;...
2020-02-05 23:39:05
337
原创 qt 通过Http/https 模拟 get 和Post请求
简单点,说话的方式简单点.模拟Get请求.h中创建两个变量QString m_strGetURL; //Get请求地址QNetworkRequest m_netGetRequestHead; //Get请求头.cpp中初始化函数中/* 组装协议头 */m_netGetRequestHead.setRawHeader("Acce...
2020-02-04 12:42:09
2556
原创 QThread多线程
qt实现多线程是通过QThread实现的,但很多人对此有误解:把部分任务交付给QThread对象管理即可实现多线程。其实不然,有这么一段话:It is important to remember that a QThread instance lives in the old thread that instantiated it, not in the new thread that cal...
2020-01-14 17:28:43
488
原创 C++ 编译时多态和运行时多态
前言 多态多为C++的三大特性之一,我们对此的了解和应用大多停留在类继承层次和运行时阶段。那既然有运行(动态)时阶段,那是否也有静态的多态?有,那就是编译时多态正文 动态多态 运行时的多态存在于继承类中,通过虚函数实现动态选择调用。简单的说就是通过一张虚函数表——vptable,vptable中记录了基类的虚函数地址,在派生类中继承了基类的这张vptable,而且在派...
2020-01-07 18:02:41
8908
1
原创 使用netsh trace抓包
转载、复制于https://www.jianshu.com/p/4c2eedfe6deeNetsh在Windows7以后,NetSh工具本身已经成为一个功能非常强大的命令行工具。强烈建议任何在Windows系统上提供支持的人来研究学习其提供的所有选项。在本篇文章中,将着重介绍Netsh Trace的使用Netsh Trace在过去,如果你想进行网络数据包跟踪,则需要在终端计算机上安装...
2020-01-06 15:44:06
7053
1
原创 定位new——placement new
前言 placement new是用来在指定的内存上创建对象,而不是直接在堆栈上创建对象。好处就字然不用多说,一方面避免了大内存申请失败的情况,另一方面对那些效率要求严格的场景也有了改善正文 既然是在指定的内存上创建对象,那么这块内存又是如何被创建出来的?我们来看这块缓冲内存的创建方式缓冲内存的创建方式 *栈区. class CTest; char szBuff[...
2019-12-31 14:45:45
282
原创 c++面试基础
全局变量的初始化顺序以及初始化方式初始化时机*静态初始化.发生在程序加载过程中(可以理解成编译时),对一些简单类型完成用常量对变量的初始化*动态初始化.在main加载前,通过函数调用完成的,或者对一些复杂的类、结构体(调用构造函数)完成初始化。需要说明的是,静态初始化是早于动态初始化的。使用#pragma init_seg(lib)指令,来确保某些全局对象先于其他普通...
2019-12-31 09:34:46
143
原创 同步、异步、阻塞和非阻塞
同步和异步是相对于消息通信机制(访问数据的机制)而言,阻塞和非阻塞是对数据的状态而言阻塞:就是一直等一件事,直到它干完了为止。在等待的期间什么也不干非阻塞:在等待过程中,可以不用一直等,能够做其他事同步:主动去询问数据的结果异步:被动通知数据的结果。同步一般指主动请求并等待I/O操作完毕的方式,当数据就绪后在读写的时候必须阻塞,异步则指主动请求数据后便可以继续处理其它任务,随后等待...
2019-12-30 17:11:37
172
原创 qt——信号槽连接方式
前言 Qt::ConnectionType,信号槽连接方式,我们今天来研究下它Qt::AutoConnection 默认连接方式。如果执行槽函数的对象和信号发出的对象在同一个线程,则为直连接;否则就是队列连接Qt::DirectConnection 直连接。所谓直连接就是说当信号发出后槽会被立即调用(难道还有不会即刻调用的?有,队列),当然了,信号和槽要在同一个线程中...
2019-12-30 16:21:06
1008
原创 C++面试汇总
前言:总结一些常见的面试和笔试题,温故知新。直接点击下方链接,可以看具体文章信号槽连接方式同步、异步、阻塞和非阻塞c++基础智能指针const_cast、static_case、dynamic_cast和reinterpret_cast详解定位new(placement new)乐观锁和悲观锁...
2019-12-27 10:57:55
146
原创 qml应用——截屏(二)
导读 上一篇我们简单的讲述了如何对指定的Item进行截屏操作,现在我们升级下程序,实现选中截图,先看效果 操作截图 实际效果 我们通过鼠标滑动选中了一个区域,释放鼠标左键后完成矩形绘制。本文在上一篇的基础之上实现选中区域的截图,所以实际效果图还是对指定的item截图,只不过是灵活了写。构思如下:创建一个frameless、可拖动的窗...
2019-12-26 21:42:25
1362
1
原创 C++ createEvent和WaitForSingleObject配合使用详解
前言 线程同步技术之一:Event,事件作为多线程同步的重要方式之一,学习它的使用是多线程编程必不可少的步骤,我们通过几个函数来分例剖析下该线程同步方法正文 事件的创建通过createEvent函数实现,下面是函数的介绍:The CreateEvent function creates a named or an unnamed event object. ...
2019-12-26 16:16:56
2211
3
原创 qml应用——截屏(一)
背景qt实现截屏时有的是用c++和qtquick交互,有的是qt方法。本文使用纯qml截屏,最终实现一个功能丰富的截屏,可单独抽离出做一个工具用。第一阶段:对指定控件截图最终结果:完整代码:import QtQuick 2.7import QtQuick.Controls 2.0Rectangle { id: legendView...
2019-12-25 11:43:32
2245
1
原创 qml应用——创建可移动的模态弹出框
点击"弹出消息对话框"时,自定义对话框以模态的方式弹出核心做法是:创建Window组件,设置属性 modality: Qt.ApplicationModal。当然也可以适当修改风格,去掉自带标题栏:flags: Qt.FramelessWindowHint | Qt.Window | Qt.WindowStaysOnTopHint另外,修改了标题栏,使之能够拖动完整代码...
2019-12-23 20:36:02
1810
原创 C++ 类成员函数指针数组应用(三)
上两篇文章由浅到深讲了函数指针数组的应用,本篇文章我们来实现更复杂的场景应用场景 同样是switch场景,但是现在客户需求又复杂了(产品经理真是令人操蛋啊,不管能不能实现就答应客户。为了解决问题,诞生了各种奇淫技巧、骚操作,所以说需求驱动技术,扯远了....)。不仅函数名不一样,连形参列表个数都要动态确定,所幸返回类型相同实现 我们仍希望通过函数指针数组来管理,那...
2019-12-21 01:16:00
480
原创 C++ 类成员函数指针数组应用(二)
上一篇C++ 类成员函数指针数组应用(一)我们讲了函数指针数组的基础应用,本篇我们升级扩展下假设有下列场景: 同样是建立在swirch多分枝下,但是处理case的函数返回类型不同,甚至形参列表都不一样,我们还能接着用函数指针数组吗?答案是肯定的。先来一波简单的,最终实现下一篇讲解升级1:索引项由int升级为字符串,并使用map存储函数指针 为了往更复杂的场景...
2019-12-20 19:36:36
685
原创 C++ 类成员函数指针数组应用(一)
前言 阅读本文之前你需要明确知道函数指针和普通函数的区别,对这两者本文不做过多说明目标 使用函数指针数组建立一套bpm工作流框架。这套框架在各种oa以及某几个大型通信公司应用的很广泛适应场景 多分枝(类似Swtich)条件下、处理函数的形参列表和返回类型相同。如:int func1(const char *pszContent);int func2(co...
2019-12-20 16:55:28
2263
1
原创 qt/C++从源文件到可执行文件的编译过程
从源文件(.c,.cpp,.h)到可执行文件(.exe,.dll——不是只有exe才叫可执行文件)依次经历下面几个过程预处理阶段 尽管现在编译器都包含了预处理器,但是通常预处理是独立编译阶段的。也有的称这一阶段为预编译阶段。预处理主要对条件编译指令及对宏定义的展开(替换)和对#include的处理等(注意:保留所有的#pragma编译指令,因为编译器需要使用它们),...
2019-12-19 21:19:32
751
原创 QML绘图常用快捷手册
1、父窗口透明,子控件不透明(大背景透明,控件不透明) 设置父窗口的color:"#00000000"2、弹出自定义模态对话框 设置模态属性:modality: Qt.ApplicationModal 完整资源下载...
2019-12-06 15:10:07
234
1
原创 Opencv3.2.0+win10环境搭建
1、下载opencv3.2.0,并解压。如解压到D盘根目录(无需创建opencv文件夹,解压时会自动创建)2、设置环境变量(以我自身解压路径为例:D:\OpenCV) 添加路径D:\OpenCV\opencv\build\x64\vc14\bin到path下3、配置VS。打开"属性管理器",双击"Debug|x64"(如需配置iRelease版本,则双击Release|x64)...
2019-12-06 00:07:18
309
原创 Qt下Android开发配置
用Qt开发android时,调试是必不可少的环节.调试的方法多种多样,通常有一下几种:1、配置AndroidSdk,通过创建AVD来运行apk2、安装模拟器,直接运行apk3、拿真机调试下面分别对这几种调试方法加以说明一、通过AVD。这种方式是最为普遍的,但也是坑最多的。为创建AVD,涉及到JDK、AndroidSdk、Ant等创建和配置,而且稍有不慎就掉坑里爬...
2019-11-27 00:09:26
420
原创 C99 stdint.h header and MS Visual Studio
解决方法:#ifdef _MSC_VERtypedef __int32 int32_t;typedef unsigned __int32 uint32_t;typedef __int64 int64_t;typedef unsigned __int64 uint64_t;#else#include <stdint.h>#endif
2019-11-14 19:09:47
152
原创 qt实现福彩走势图
话不说多,先上图其实实现这种效果就几部分,最主要的是绘制,其次是随着鼠标的操作进行滚动加载。绘制的话有很多方法,paintEvent或Canvas,滚动的话有滚动条,或者异步加载,亦或直接使用控件。。。。上部分代码一看:完整代码在https://download.csdn.net/download/weixin_43935710/119120...
2019-10-24 10:42:32
383
原创 程序崩溃常见思路分析
程序崩溃有很多原因,这里只分析在debug时导致程序崩溃的原因。一般而言,大多数程序崩溃是指针引起的,指针的排查不好排查,但是常见的有几种场景:1、通过下标、迭代器越界访问。比如访问一个不存在的元素,亦或迭代器指向了尾端,但仍通过它获取值等2、地址不合法。通常在传递参数时会发生,所以最好对于形参指针,要做有效性检查3、参数不对齐。实参和形参类型不符,但是存在一些隐士转换...
2019-10-21 09:54:28
788
原创 复杂结构体的初始化
假若有以下结构体:typedef struct Content_Item{ unsigned short x; //文字项x坐标 unsigned short y; //文字项y坐标 char szFont[2]; //字体样式 unsigned short nSize; //字体大小 char szColor[13]; //字颜色 unsigned short nLet...
2019-10-18 16:21:02
869
原创 如何理解“函数的调用是依赖指针的原始类型而不管它实际上指向何种对象”
标题来源于《深入浅出mfc 第二版》转载请标明出处意思是:当通过指针调用函数时,起决定作用的是指针的类型而非指针指向对象的类型。我们来分析下这里面的信息,首先剖析下指针。如下:int* p1;一个指针包含四部分信息:指针的类型、指针的值、指针指向的类型,指针指向的值。那么上面p1的类型是int*,值是一个四字节的地址(区别于引用,指针自身就占用内存),指向的类型是int...
2019-09-28 00:03:08
188
原创 Mac下Qt环境搭建
Qt版本:qt5.12Mac版本:10.21、直接下载,下载较慢,下载完毕后双击运行安装。对于新电脑设备而言,第一次安装时会提示安装xcode,选择安装即可2、安装完xcode后,设备会对程序做长时间的校验,估计不是从appstore下载的缘故吧。校验完毕后一路安装,形如windows下安装即可3、安装完毕后,即可使用,一切如windows。...
2019-09-17 15:31:50
440
原创 QT5.8+Opencv2.3编译库
QT5.8+Opencv2.3编译库这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流...
2018-12-09 17:00:41
307
人脸识别库+qt5.8+opencv3.2
2018-12-09
openssl下的pc和android库.rar
2020-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人