- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 如何防止QT程序未响应
在日常的开发中,偶尔会执行一些可能很费时的代码,比如进行大规模的数据运算,生成或者拷贝文件,网络请求等,这些操作如果放在UI线程去做,一些操作,比如多点几次鼠标,或者是切换到其他程序再切换回来, 都很容易就会导致程序未响应,这是由于ui线程正在执行代码或者被阻塞住了,导致没法处理事件循环,系统认为你这个程序可能挂掉了,就会出现那个未响应提示,然后弹窗问用户,要不要强制干掉这个程序. ...
2018-03-05 23:41:22 11986 6
原创 使用SQLite模拟对象数据库
目前实现了数据库到类的一键生成,增删改不再需要书写sql语句及关心数据库连接,调用对象一个无参方法就可以完成操作,查询数据也只需调用一个函数,已经大大减少代码的书写量了,另外整个框架还提供了一些的其他功能,比如使用json生成及还原对象,工具类的事务开启及默认属性表等,可以去查看接口.下面的改进目前是计划是做参考安卓的数据更新方式,在更改了数据库结构的情况下做到无缝过渡.
2017-12-06 23:11:48 635 1
原创 在notepad++插件开发中使用QT
在notepad++里面使用qt,首先要做得就是建立qt工程,然后类型是动态链接库,然后将notepad++的模板文件拷贝进去,在里面就可以用用qt书写代码了.编译以后的dll拷贝到notepad++的plugins文件夹内,然后将qt依赖拷贝到notepad++同级目录,就可以正确加载了. 比较麻烦的是怎么把qt窗体塞到notepad++里面.这里我采用的方式是先创建一个它原来支
2017-10-26 22:46:25 2201
原创 notepad++ c++版 插件开发入门
Notepad++的插件开发可以去它的官网下载模板,提供了c/c++,Delphi,c#等语言的插件模板,这里提供一下c++的开发模板.点击下载下载下来以后是这么些文件这个工程是能直接编译跑过的,它实现了两个命令, HelloNotepad++ 和Hello (with dialog)前者是实现了新建一个文档并输入了一段话,后者仅仅是弹出个MessageBox,并不是我
2017-10-18 21:35:56 7522 3
原创 Notepad++ lua插件开发(前传)
我对lua一直是情有独钟,主要是因为它是开源的,非常小巧,整个源码也才五百来K,可以很方便地嵌入到程序中,从而为程序提供灵活的扩展和定制功能,其次它简洁的语法,动态语言的特点及很方便地使用c/c++进行功能扩展,是非常吸引我这种c++程序猿的. 不过,虽然语言是好的,但是IDE却很不友好,网上下个luastudio也是收费的(也不知道是不是官方做的,界面还是挺粗糙的,竟然还能用微信/
2017-10-17 21:28:25 6433 11
原创 安卓上利用百度输入法提供的导入词库与个性短语,批量造词方便输入
最近有做个小APP,里面管理了很多的商品,商品名称不是常见的词,用户在会需要经常输入这些商品名称(软件外部,无法做自动补全),每次都要选词,正确的候选项往往不会出现在很前面,容易误选,输入效率较低.按说,这个事情跟App本身无关,是输入法应该考虑的问题,不过我想光靠输入法肯定是无法解决这个问题的,用户使用体验至上,我就尝试了解决这个痛点.这个问题的关键在于,要输入的词语词库里面没有,所以需要选,虽然
2017-03-12 14:49:18 8983
原创 Android studio 初尝试与小设置
写安卓程序一直用的eclipse,一直想想着试试谷歌自家的Android Studio 试一下 但是一直没有行动,但是今天突然看到当初很喜欢的一本安卓入门书 出了第二版,而且里面也就eclipse换成了Android studio,这就一下子激发了我试试 其的想法,于是就下了一个 体验了一下.去官网下载安装以后,第一次打开会提示 "unable to access android sdk
2017-02-21 23:18:16 325
原创 c++ 友元函数
先看定义:友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数 .这句话不难理解,类是具有封装和信息隐藏的特性得。只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员和函数的。非成员函数可以访问类中的公有成员,但是如果将数据成员和函数都定义为公有的,这又破坏了隐藏的特性,使得所有的地方都能获取和改变它。因此,如果我们又不想暴露数据,又想在某些函数里面访问某个类的私有成
2017-02-20 22:59:14 497
原创 zlib的minizip和lua 5.1.4安卓编译需要改动的地方
近期有一个用到了zlip的压缩和lua的dll需要编译到安卓平台下用,就使用SWIG做了转换,然后使用QT MinGW编译so文件.swig转换很顺利.没有碰到什么问题,但是编译so确碰到了一些问题,网上查找相关资料也不是特别多,零零散散的,导致解决问题也不是很顺利,在此做下记录.编译单纯得zlip的源码没啥问题,但是因为我里面用到了minizip来操作文件,它对于Linux的编译就没有做
2017-02-19 23:17:34 1624
原创 c++11 之 正则表达式的学习(regex)
之前用正则表达式都是用的其他框架的类,比如QT的,并没有用过标准库里面的正则表达式,今日偶然得知c++11里面已经添加了对正则表达式的支持,这绝对是一件大好事,如此强大的正则终于可以不依赖于其他的东西就可以用了,故来学习一下如何使用.首先是要引入正则对应的头文件 #include 然后就可以声明正则表达式对应的类了比如 std::regex re ("\\d+?");这里是说 匹配
2017-02-15 22:26:32 776
原创 c++ dll接口返回字符串
假如说,我们封装的dll 有返回字符串的需求,比如有这么个函数string oneclass::getString(){string res = string();...do something,,,return res;}的话,如果我们直接使用std::string 作为接口返回值的话,是会有一些问题的 具体的问题 可以百度 "尽量不要在Dll的接口中使用str
2017-02-14 22:41:59 14605 2
原创 pugixml 丢失空格的解决方法
pugixml 是一个非常好用的c++ xml解析库,速度快,占用内存小,支持xpath,且开源,可以说是c++ xml解析库的首选.但近日发现,使用pugixml解析xml.然后再将其保存成xml文件的时候,会造成空格丢失的情况.经过一番跟踪调试,终于发现问题所在,遂在此记录.在pugixml读入buffer进行解析的时候,在pugixml.cpp的第3406行(pugixml1.7)
2017-02-08 23:32:03 835
转载 C++ 模板详解(一)
C++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 使用模板的目的就是能够让程序员编写与类型无关的代码。
2017-02-05 22:28:21 280
原创 模板初探
对于模板这个东西,之前一直知道它的存在,但是也一直是模糊的状态,不清楚它到底是怎么个用法,看别人用的也是模模糊糊的.之前就听闻c++的精髓里面必有的一个就是泛型编程,也就是说的这个模板,今天就初探它的奥妙. 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。
2017-02-05 22:27:32 339
转载 C++11中的std::function
原文:http://www.jellythink.com/archives/771看看这段代码先来看看下面这两行代码:std::functionvoid(EventKeyboard::KeyCode, Event*)> onKeyPressed;std::functionvoid(EventKeyboard::KeyCode, Event*)> onKeyReleased;
2017-01-20 22:54:26 509
原创 使用std::function和std::bind实现局部函数做回调
昨日的求教得到了大家的热烈回应,除了要我解释友圈封面之外,也有很多牛人给了很棒的指导意见,其中最为有效的是说使用std::function加std::bind,今晚我就实验一下. 这两个东西是c++11的东西,std::function,抄袭别人的理解就是:对C++中各种可调用实体(普通函数、Lambda表达式、函数指针、以及其它函数对象等)的封装,形成一个新的可调用的st
2017-01-20 22:52:07 4251
原创 使用局部函数作为回调函数(未实现)
昨晚本想把前晚说的 用虚函数地址实现一些函数回调学习一下.但是昨晚到12点我都没搞出来,就拖到今天了.先说一下为何我会产生这样的需求吧.在工作做会经常使用回调函数,比如调用rtree进行搜索,然后搜到得结果会调用回调函数进行处理.比如调用rtree的目的是收集符合条件的id,那么,此时就需要声明个全局变量集合来保存id,然后调用完再将结果转移.更好一点的做法可能是声明个全局的类指针,在调用rt
2017-01-19 23:12:35 1794
原创 虚函数
虚函数虚函数,知道怎么用,也知道虚函数表这么个东西的存在,但是一直不是很明白它到底是怎么样工作的,今晚一探究竟.C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数.也就是说,假如我有一个A类,里面写了个虚函数fun1,如果B类继承了A类,然后覆盖了fun1,我通过 A* a = new B();的方
2017-01-17 23:59:46 336 1
原创 加载dll
昨天说到dll和lib的关系,就有大牛跟我说,dll的lib跟头文件不是必须的,没有也是可以调用的,用dll+lib+头文件的方式,是隐式调用dll的方式,而还有另外一种显式调用dll的方式。本着自己动手,丰衣足食的原则,我没有继续追问,今天查了资料,发现别有洞天。经查,调用dll确实是由两种方式,隐式调用就是昨天说的在工程里面加上lib,然后引入头文件,就可以正常编译了,这里想了解下第二
2017-01-16 23:24:41 555
原创 DLL与LIB
我们写的功能给别人用的时候,一般是有三种方式1是提供源码,2是编译静态库(lib)+头文件 3是提供动态链接库(dll)+头文件+lib第一种自然不用多说,这里主要是想学习一下第二和第三种的区别首先看一下网络上对于以上所提到的库的解释:静态库:在链接步骤中,连接器将从库文件取得所需的代码,复制到生成的可执行文件中,这种库称为静态库,其特点是可执行文件中包含了库代码的
2017-01-16 23:21:07 456
Notepad++Lua及sqlite数据库助手插件包
2017-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人