06 2016 档案
摘要:编译环境vs2013+qt5.5.1+perl5qchart源码在git上自己下载,或者在此下载,参考文档:Qt Charts 5.7.0 安装教程,这篇文章是使用mingw的方式编译qcharts,而我这篇文章讲述的是msvc方式编译,编译之前需要安装perl这个工具,安装完之后再终端输入perl
阅读全文
摘要:本文讲述的是log4cplus日志输出到qt widget,封装了serverSocket。 log4cplus支持用户自定义输出设备,只需要继承自Appender,或者Appender子类,并实现append成员方法,然后在 log4cplus初始化成功之后,把自定义输出设备添加到logger中,
阅读全文
摘要:框架说明: Log4cplus使用指南 C++日志库log4cplus:SocketAppender记录日志到log Server 配置文件: log4cplus库(四)(优先级与日志配置) log4cplus配置文件使用 最近项目涉及到日志记录功能,因此学习了写log4cplus框架,下载下
阅读全文
摘要:log4cplus支持用户自定义日志等级,操作也比较简单,使用之前贴如下宏定义 #define LOG4CPLUS_MACRO_CREASH_LOG_LEVEL(pred) LOG4CPLUS_UNLIKELY(pred) namespace log4cplus { const LogLevel C
阅读全文
摘要:如何定位Android NDK开发中遇到的错误 NDK编译生成的.so文件作为程序的一部分,在运行发生异常时同样会造成程序崩溃。不同于Java代码异常造成的程序崩溃,在NDK的异常发生时,程序在Android设备上都会立即退出,即通常所说的闪退,而不会弹出“程序xxx无响应,是否立即关闭”之类的提示
阅读全文
摘要:AOP 编辑删除转载 2015-12-08 16:14:27 标签:aop日志系能分析 AOP 编辑删除转载 2015-12-08 16:14:27 标签:aop日志系能分析 C++11实现一个轻量级的AOP框架 AOP介绍 AOP(Aspect-Oriented Programming,面向方面编
阅读全文
摘要:一直以来觉着core dump这个东西很神奇,在初步学习的时候也没有个大方向,最近项目需要记录程序崩溃时的日志信息,因此在网上寻找相关的信息,此时core dump也成为了我重点关注的东西。 说说我的辛酸历史吧,刚毕业1年的我,C++领域的东西还是知之甚少啊,记得又一次面试被问起了demp文件,我当
阅读全文
摘要:在qt cef嵌入web文章中已经讲述了怎么把cef页面嵌入到qt程序中,但是这样并不完美,因为如果需要在多个窗口上创建cef浏览器部件的话,在 消息监听部分没有办法做区分多个浏览器事件,在这篇文章中我将会把上一篇相关文章中的程序结构稍作改动,以支持多个主浏览器窗口,主要是针对不同的浏览器 产生事件
阅读全文
摘要:assert宏 (基本概念与用法整理) assert宏的深入学习 1、运行时断言 1.1、assert属于运行时断言,可以在运行时判断给定条件是否为真,如果为真则什么也不做,否则打印一跳错误信息,然后通过abort来终止程。当程序开发阶段,我们可以在debug模式下加入大量的运行时断言,来提高我们程
阅读全文
摘要:C++11 tuple&可变参数模板 1 template 2 3 void Print(T value) 4 5 { 6 7 std::cout << value << std::endl; 8 9 } 10 11 template 12 13 void Print(Head head, Rail
阅读全文
摘要:stl中sort详细说明 实现功能:期末开始4位同学的成绩,按多级排序,排序规则为:按数学从小到大,如果数学相等,则按语文从大到小排列,如果语文相等,则按英语从小到大排列,如果英语相等,则按历史从大到小排烈 1 #include "stdafx.h" 2 3 #include 4 5 #includ
阅读全文
摘要:C++读写二进制文件 最近在给android层提供支持,因此代码都是用标准库库函数写出来的,好多windows和第三方的库不能或者很难使用,下面有我在读写二进制文件时候的一些心得,也算是一种总结吧 1、读二进制信息 1 bool bRet = true; 2 std::ofstream fout(s
阅读全文
摘要:C++11新特性非常的多,就一个简单的特性如果要讲解的很清楚并附上事例可能就需要写很多(个人觉着文章太长不利于理解),本片只大概介绍部分特性,以后有机会再针对个别特性做深入解释。以下只是个人在使用过程中觉着经常使用到的部分,现在做如下解释,错误之处望指正 1、右值和move语义 C++11 增加一
阅读全文
摘要:最近在做程序异常时堆栈信息获取相关工作,上一篇文章成功的在程序creash时写下了dump文件,而有些情况写dump文件是 不可以的,比如在jni开发时,C++只做底层处理,而整个项目是android工程,这个时候dump文件没有了优势,那么只能在程序 creash时把内存信息打印出来,获取输出到文
阅读全文
摘要:原文 Qt 为何没有提供 Sleep 论坛上不时见到有人问: Qt 为什么没有提供跨平台的 sleep 函数? 使用平台相关的 Sleep 或 nanosleep 以后,界面为什么没有反应? QThread 中提供了protected 权限的 sleep 函数,如何用到主线程中? 使用 QTest
阅读全文
摘要:QT皮肤(QSS)编程: 借用css 的灵感, Qt也支持Qt自己的css, 简称qss。同css 相似,qss的主要功能与最终目的都是能使界面的表现与界面的元素分离,即质与形的分离,就如同一个人可以在不同的时候穿上不同的衣服一样,css机制的引入,使得设计一种皮肤与界面控件分离的软件成为可能,应用
阅读全文
摘要:最近项目需要实现windows下橡皮筋的效果,所以对此做了一些了解,特此记录。 首先windows系统是支持橡皮筋效果的,需要使用win32方 法:SystemParametersInfo(SPI_SETDRAGFULLWINDOWS, showFullWindow, NULL, 0);showFu
阅读全文
摘要:使用标签控件时我首先想到的就是QLabel,QLabel支持自动换行,并可以解析富文本,是一个不错的选择,这也使的我并没有去深入了解其他的可以有 同样效果的控件,本篇文字我也主要是讲解标签的用法,可以如果QLabel既然能满足我的需求了,我为什么还要写这篇文字呢,原因就如下:QLabel自 动换行时
阅读全文
摘要:开发环境:win10家庭中文版,vs2013,qt5.5.1 目的:使用webkit加载web页面代码如下: #include #include #ifdef _DEBUG#pragma comment(lib, "Qt5WebKitWidgetsd.lib") #pragma comment(li
阅读全文
摘要:写次篇文章之前,qt窗口的放大缩小和拖拽我都是通过setGeometry方法实现的,但是作为windows程序,windows支持橡 皮筋式(拖拽时有一个虚框)拖拽和拉伸。通过setGeometry方式实现功能是没有这种效果,幸好qt5中提供了一个本地事件处理接口 nativeEvent,具体功能可
阅读全文
摘要:说到qt布局,比起之前用的MFC好了许多,而且qt支持qss,可以更好的美化界面。qt提供了几种常见的布局管理 窗体布局,这对客户端程序来说是一个福音,再也不用操心程序界面放大缩小时界面控件怎么变化,只需要把界面控件加入到qt布局中,布局会帮助我们按照一定的规则设置界面子控件。 随着业务需求的变化,
阅读全文
摘要:最近一段时间真是事情太多了,前不久项目中一个嵌入office软件的问题,由于没有时间研究,且项目的需求是浏览word文档,偷了一个懒,把word文档转换成pdf文档,然后嵌入libcef浏览器给打开了 现在回过头来,重新研究了这方面的直接办法,在网上查了多方面的资料,终于决定要使用ocx这个方案来完
阅读全文
摘要:Qt 不规则窗体 – 鼠标点击穿透 qt实现鼠标穿透,如果要被穿透窗口只有一层,也即没有嵌套窗口,直接只用对子窗口使用setAttribute (Qt::WA_TransparentForMouseEvents,true);就ok,意味着鼠标事件让父窗口响应。 如果要穿透的窗口含有嵌套窗口,那么接着
阅读全文
摘要:C++ gui程序附加console qtcreator 1:在.pro文件中加入一句: CONFIG+= console 2:在运行设置里勾选在终端运行的选项 vs 1.新建gui项目 2.连接器(linker) 3.系统(system) 4.将第一项选成控制台(Console)。不过务必要记得选
阅读全文
摘要:qt中的QWidget窗口支持窗体绘制,但是不支持窗口标题栏绘制,想要美观的界面,还需要自己去定制,下面我就介绍一种定制窗体的方法 一个窗口无非就3部分,标题栏、窗体和状态栏,接下来我定制的窗口没有状态栏,如果自己想加状态栏的话,照着这个模式自己也可以添加,说白了,窗口定制就是把完整的窗口分3部分定
阅读全文
摘要:前一篇讲过不规则提示框,但是提示框的方向是固定的,不能达到随意变换方向的效果,本接讲述可以动态变换方向的提示框 先看效果图 图1 图1 图2 图2 图3 图3 图4 图4 如上图1所示,上一篇文章的代码可以达到类似效果 本片文章我只介绍变动部分,尽可能的做到详细吧 我先说原理,整个窗口包含两个
阅读全文
摘要:由于最近项目使用的qt版本从qt4.8升级到qt5.5,虽然从4到5的变化不大,不过还是有许多的问题需要记录一下,希望可以帮助到更多的人 1、由于Qt5将大部分桌面部件移到了Qt Widgets模块中,因此在保护QtGui的地方需要包含QtWidgets模块 2、乱码问题。 方式针对vs,由于w
阅读全文
摘要:currentPosition()是最后一次绘制后的“结束点”(或初始点),使用moveTo()移动currentPosition()而不会添加任何元素。 QPainterPath 合并: 1、方法1:connectPath合并成一个路径,从第一个路径的最后一个点链接一条直线到第二个路径 2、方法
阅读全文
摘要:窗口动画 编辑删除转载 2015-10-10 14:50:27 标签:qt渐变动画 窗口动画 编辑删除转载 2015-10-10 14:50:27 标签:qt渐变动画 一个应用程序通常包含多个动画,例如,你可能希望同时移动许多graphic items或者一个个按照串行的方式的移动他们 QAnima
阅读全文
摘要:系统图盘是应用程序经常用到的一个控件,当应用程序需要长时间存在的时候,这个控件会变得非常有用,比如,窗口隐藏,显示,关于、关闭等接口都可以放在图盘中处理,今天与到一个问题,需求是这样的:只需要显示图盘,不需要主窗口,提示信息需要动态的改变 看似很简单的一个问题,我自己试了试之后,也倒腾了好一会儿,先
阅读全文
摘要:qt程序启动播放动画 编辑删除转载 2016-01-20 10:23:11 标签:qt启动动画 qt程序启动播放动画 编辑删除转载 2016-01-20 10:23:11 标签:qt启动动画 1、播放动画 1 QAxWidget *flash = new QAxWidget(0, 0); //QAx
阅读全文
摘要:常用正则表达式 编辑删除转载 2016-01-11 10:43:30 标签:qt正则regexp 常用正则表达式 编辑删除转载 2016-01-11 10:43:30 标签:qt正则regexp 1、ip地址: QString ipRange = "(?:[0-1]?[0-9]?[0-9]|2[0-
阅读全文
摘要:原文地址:当你纠结时,请打开这31个锦囊作者:李有亮 (来源:网络 谢谢原作者) 原文地址:当你纠结时,请打开这31个锦囊作者:李有亮 (来源:网络 谢谢原作者) 原文地址:当你纠结时,请打开这31个锦囊作者:李有亮 (来源:网络 谢谢原作者)
阅读全文
摘要:原文链接:Android NDK学习 <二> Android.mk的制作 文章末尾有我个人测试成功的一个连接第三方静态库的实例 0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分
阅读全文
摘要:本文主要从log4cxx级别、layout、格式化、命名规则、Filter几个方面介绍。 一、log4cxx命名规则 Logger由一个String类的名字识别,logger的名字是大小写敏感的,且名字之间具有继承的关系,子名有父名作为前缀,用点号.分隔。如:x.y是x.y.z的父亲。根logger
阅读全文
摘要:原文链接:Qt学习之路(28): 坐标变换 同很多坐标系统一样,QPainter的默认坐标的原点(0, 0)位于屏幕的左上角,X轴正方向是水平向右,Y轴正方向是竖直向下。在这个坐标系统中,每个像素占据1 x 1的空间。你可以把它想象成是一张坐标值,其中的每个小格都是1个像素。这么说来,一个像素的中心
阅读全文
摘要:原文地址:关于QT下资源使用和资源占用内存过多的问题作者:技术成就梦想 最近研究了一下如何从外部动态调用图片的问题,从而研究了图片资源的使用方法。网上最常见的帖子是这个,感觉总结的还不错。 http://www.cnblogs.com/lzjsky/archive/2012/08/20/264747
阅读全文
摘要:原文链接: 设计模式C++学习笔记之一(Strategy策略模式) 设计模式C++学习笔记之二(Proxy代理模式) 设计模式C++学习笔记之三(Singleton单例模式) 设计模式C++学习笔记之四(Multition多例模式) 设计模式C++学习笔记之五(Factory Method工厂方法模
阅读全文
摘要:原文地址:流泪的人生作者:笑瞰人生 生命,在自己嚎啕的泪水中降临这个世界,历尽岁月风霜雨寒,人间冷暖,熬至灯尽油枯,又在亲人哀恸的眼泪中离开现实的世界。人,短暂的生命旅程,生,没带来一丝半缕,离去,又何尝带走了半分半毫呢? 人生岁月,是从天真无邪的童年开始的,又在生命牵缠萦怀的愁云惨雾中终结。生命,
阅读全文
摘要:java与c/c++之间的数据交互 JNI 上述两篇文章对jni的讲解比较详细,各有利弊,就文章1来说,开门见山,直接阐述了java和C/C++的交互方式;文章2是一篇百度文库中的内容,则讲的比较详细,从各个方面阐述了jni到底是个怎么一回事,很适合初学者看。 JNI是Java Native Int
阅读全文
摘要:原文链接:Qt5 模块简介 无意中看到这篇文章,虽然讲的不是经常用的东西,但是看了这篇文章之后,可以对qt有个大致的了解,能够清晰的知道自己想要什么,应该关注那一部分,学习了,相信以后会又很大用处。 Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改。Qt 5 引入了模块化的概念,将众多功
阅读全文
摘要:C++11带来的move语义 C++11引入了move语义,stl中的容器基本都支持move语义,因此我们在使用stl中的容器的时候,就已经使用过move语义了,在网上看了不少关于move语义的文章,发现要讲move,左值和右值是必须讲的,那我们首先就来说说这个左值和右值。 左值和右值(c++中的左
阅读全文
摘要:QT 进程间通信之古老的方法(内存共享) 让QT只运行一个实例 以上两篇文章中分别讲述了QSharedMemory的不同作用,第一篇讲了进程间通信,第二篇讲述了怎么让应用程序只启动一个实例。 今天这篇文章我想讲述下,自己在项目中怎么样让程序只启动一个实例,方法就是使用共享内存(其实qt还有一个单例应
阅读全文
摘要:部分思路借鉴这篇文章: Qt学习之路(55): 剪贴板操作 剪贴板,这个词相信大家都比较熟悉,比如使用offiece的时候就会有粘贴板,文本编辑的时候Ctrl+C和Ctrl+V的使用,其实也是使用到了粘贴板,在往细了说,从一个文本文件中复制一段内容到另一文本文件,这也使用到了见铁板,而这也是见铁板的
阅读全文
摘要:在写博文之前,先推荐一篇文章,我觉着挺不错,也是qt中delete相关:QT父子与QT对象delete 学习C++的童鞋都知道new和delete必须是同时出现的,否则就会导致内存泄露。但是qt的提供了一种对象间的父子关系机制,组织成了一棵树,当delete一个对象的时候,qt的这种机制保证会自动的
阅读全文
摘要:原文链接:浅谈 Qt 内存管理 Qt 内存管理是本文将要介绍的内容,在QT的程序中经常会看到只有new而不delete的情况,其实是因为QT有一套回收内存的机制,主要的规则如下: 1、所有继承自QOBJECT类的类,如果在new的时候指定了父亲,那么它的清理时在父亲被delete的时候delete的
阅读全文
摘要:最近项目使用的qt版本升级,导致了界面乱码问题,因此最后决定利用qt的多语化机制,来解决乱码问题,首先感谢这两篇文字的帮助,在此加上作者链接:Qt之多语化和Qt多国语言的实现与切换(国际化) 在项目多语化的文章开始编写之前,我说下qt多语化的思路,很简单,就3步,首先,从项目中获取字符串,然后编辑*
阅读全文
摘要:参考资料:Qt学习之路2 在qt从4到5的升级过程中,connect的方法只是添加了一些重载的形式,qt5新增的connect添加了编译器类型检查,如果遇到匹配失败的,或者找不到信号/槽的地方,会直接报错,而不是qt4到运行期才告诉用户。新版本qt在connect的支持方面是兼容以前的老版本的,因此
阅读全文
摘要:最近项目需要,研究了下libcef库, Cef(Chromium Embedded Framework)简述 嵌入式Chromium框架(简称CEF) 是一个由Marshall Greenblatt在2008建立的开源项目,它主要目的是开发一个基于Google Chromium的Webbrowser
阅读全文