3 张江键盘侠

尚未进行身份认证

因为喜欢,所以热爱。

等级
TA的排名 0

C++ 计算程序运行时间

计算程序运行的时间#include"stdafx.h"#include<time.h>#include<iostream>usingnamespacestd;intmain(){ clock_tstart,finish; doubleduration; start=clock(); intcnt=0; for...

2019-10-10 11:21:53

windows上QtCreator经常未响应,崩溃,如何解决

有道词典,滑词取词功能与QtCreator八字不合取消滑词取词,或者直接退出有道词典...

2019-09-28 21:26:47

浅析java反射机制

如何获取一个类的私有方法,初次听时,觉得可能违反了面向对象封装的本质,但确实可以做到,java提供了【反射】的机制,可以在一个类中获取其它类的私有方法或属性。例如,我们写一个People类,如下:publicclassPeople{ privateStringname; privateintage; privatevoidrun(...

2019-09-13 23:31:55

MFC列表控件List Control控件的使用方法

拖一个ListControl到对话框,添加变量m_list,设置表格属性View为Report。初始化表格设置列框,文本背景颜色,列名,列的布局样式等。CRectrectL;m_List.GetWindowRect(&rectL);intwidL=rectL.right-rectL....

2019-09-11 17:57:27

C++ new,delete原理分析

C++编译器隐藏了代码实现,没有那么透明,java的jdk开源,比较透明,大部分实现都可以看到,Qt也是开源,具体实现我们也可以看到。new,delete是C++动态内存分配与释放的关键字也是一种特殊的运算符,很多书籍,博客都说底层是用operatornew和operatordelete实现的。主要涉及到了如下四组函数:void*operat...

2019-09-09 19:15:21

C++ main函数运行分析

在VS2017中,建议一个C++控制台程序:#include"stdafx.h"#include<iostream>intmain(){ std::cout<<"helloworld"<<std::endl; return0;}点击VS的搜索工具,搜索main,可以找如下内容...

2019-09-09 18:59:36

C++ STL之set

1.SLT介绍set特点:关联容器,值唯一,有序。内部实现是红黑树。C++STL中标准关联容器set,multiset,map,multimap内部采用的就是一种非常高效的平衡检索二叉树:红黑树,也成为RB树(Red-BlackTree)。RB树的统计性能要好于一般平衡二叉树,所以被STL选择作为了关联容器的内部结构。在面试时经常会问到如下问题:(1)为何map和set的插入...

2019-09-09 18:32:06

Qt程序在关闭时实现托盘功能

PC端应用程序大部分都有“系统托盘”,例如微信,QQ,360,腾讯视频等。在用Qt开发应用程序时,我们也可以实现“程序托盘”。Qt提供的系统托盘类QSystemTrayIcon,可以看看Qt助手的解释。QSystemTrayIcon类为系统托盘中的应用程序提供一个图标。操作系统通常在桌面上提供一个特殊的区域,称为系统托盘或...

2019-08-31 17:16:05

基于QReadWriteLock的线程同步

在使用互斥量时会有一个问题,每次只能有一个线程获得互斥量的权限。如果在一个程序中有多个程序需要读取该变量,那么就会出现排队等待现象,降低了程序的性能。​例如在做数据采集时,会涉及到采集,显示,保存,如果数据量很大,此时我们用3个线程来处理,采集线程,数据显示线程,数据保存线程。​例如下面的伪代码intbuf[100];QMut...

2019-08-19 21:33:39

Qt线程同步之QMutex与QMutexLocker的使用

在多个线程访问同一个值时,可能会出现难以预估的结果,为了保证线程操作的原子性,Qt提供了QMutex,QMutexLocker,QReadLocker,QWriteLocker,QReadWriteLocker,QSemaphore等类来进行线程访问控制。例如卖票程序的设计,要保证票号不重复,每卖一张,票号加一,有多个窗口同时卖,那么此时就得保证...

2019-08-19 21:20:51

QThread源码分析:为什么start()会自动调用run()执行线程代码

很多文章教程都说Qt在启动子线程时,子线程对象调用start,start直接调用重写的run(),这样实现了多线程,为什么start()会调用run()呢,在哪里看的到,别人是如何知道的呢,看完这篇文章你将会清楚。我们从Qt的源码开始。QThread源码目录D:\Qt5.12.4\5.12.4\Src\qtbase\src\corelib,...

2019-08-19 21:20:13

Qt新建线程四种方法详细介绍与代码演示

Qt新建线程的四种方法一、继承QThread继承QThread,这是最常用的方法了,通过重写虚函数voidQThread::run()实现我们自己想做的操作,实现新建线程的目的。前面博客已经介绍过。可以参考链接:【Qt多线程与代码示例】这种方法...

2019-08-19 21:19:38

Qt表格控件QTableWidget的使用【详细代码】

在上一篇博客介绍了Qt多线程,这次需要将子线程产生的数据发到主线程进行展示,用表格控件QTableWidget。主界面.h代码#pragmaonce#include<QtWidgets/QMainWindow>#include"ui_ThreadDemo.h"#include"wor...

2019-08-19 21:19:06

Qt多线程介绍与代码示例

1.多线程介绍应用程序在启动后的第一个线程称为主线程(界面线程),QtGUI程序启动后的主线程可以称为UI线程,或者界面线程,如果程序有其它复杂的操作,例如视图编解码,图像识别分析、处理,实时数据采集,曲线绘制等操作时,这些功能需要另起一个线程实现,如果直接在主线程实现,容易造成UI阻塞,常见的就是点击无反应,无法拖动,关闭等现象。子线程可以称为工作线程。...

2019-08-19 21:18:13

QChart教程(三):QChart实现柱状图

这次用QChart来做柱状图,效果如下:依然是用VS2017_Qt5.12.4,关于QChart的VS环境配置可以参考我的上一篇博客。QChart教程(二):VS2017Qt使用QChart不过这次使用Graph...

2019-08-15 23:12:42

QChart教程(二):VS2017 Qt使用QChart实现柱状图,饼状图

VS中安装的Qt无法使用QT+=charts这种形式包含QChart模块,在VS包含该头文件也是能实现的。在VS2017中新建一个QtGUI工程,上篇博客用布局器显示,这次用QChartView展示QChart。打开.ui文件,拖一个Widget到界面上:在widget上点击右键,将widget提升为QChartView.保存。...

2019-08-14 19:50:36

QChart教程(一):QChart实现动态曲线

QChart实现了各种各样的曲线,饼状图,柱状图等等,综合了之前的第三方图表模块QCustomPlot,QWT的功能,这两种也是很好的Qt图表类库。QChart在5.7之前只有商业版才有,5.7之后社区版也可以使用了。建议使用Qt5.7之后的版本,在安装的时候勾选QCharts模块,不然无法使用该功能。QChartdemo代码在Qt的安装路径:D:\Qt5....

2019-08-13 23:08:33

Qt去掉对话框边框并且窗口可移动的实现

Qt开发时,有时需要对窗口进行定制,例如去掉边框,做异形窗口等,做法比较简单,添加几句代码即可。现在构造函数中添加://去掉边框this->setWindowFlags(Qt::FramelessWindowHint);此时,虽然去掉了边框,但是窗口无法移动,需要重写鼠标的按下,移动事件,在头文件中添加如下代码:voidmousePr...

2019-08-10 22:18:47

Qt TCP编程,客户端服务端【完整代码示例】

说起TCP,UDP编程,大家应该都很熟悉,具体细节就不说了,主要看看Qt是如何实现的。Qt封装了TCP,UDP编程的相关API,调用方便,相比windows下的socket编程,Qt要方便很多,本篇博客要实现客户端和服务端直接护发消息,界面如下:当客户端连接服务端ok时,在底部状态栏会有提示。消息显示,用的QPlainTextEdit...

2019-08-05 18:58:56

Qt Http实现网络文件下载

Qt封装了Http相关的操作,主要有以下三个类QNetworkAccessManager,QNetworkReply,QNetworkRequest,Qt的版本更新,某些API的变化比较大,例如,qt4x分别使用QFtp和QHttp,Qt5以后统一用QNetworkAccessManager。建议使用Qt5比较新的版本。...

2019-08-05 18:20:05
勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。