一
qt的内存管理
1
qt中的内存管理是qobject来管理的
2
qt中的内存管理没有cocos2dx中的引用计数
3
组件可以指定父对象
qtimer *timer = qtimer(this);
//这里的this实际上强制转换成为了qobject了。
4
每一个对象都有一个deletelater()方法,
qlineedit* edit = new qlineedit(this);
delete edit;
//这里的delete马上调用析构函数对内存进行释放
edit->deletelater();
deletelater不是马上释放的,而是发送了一个消息,缓一下,等下一个消息来的时候释放,这种方式是延时释放。
二
qt中制作动态库
a
新建一个库项目
项目目录结构如下:
编写代码
t14library_global.h
t14library.h
#ifndef
t14library_h
#define
#include
"t14library_global.h"
/*这里的t14libraryshared_export就是用来做跨平台的一个宏*/
class
t14libraryshared_export
t14library
{
public:
t14library();
//自己编写的函数
void
encrypt();
};
#endif
//
t14library.cpp
点击构建按钮:
到项目目录e:\qt\build-t14library-desktop_qt_5_3_mingw_32bit-debug\debug下查看:
b
添加一个空qt项目来使用qt
编写的代码如下:
t15uselibrary.pro
main.cpp
运行结果:
三
编写一个静态库
创建项目:
一直点击,直到完成。
这里的静态库就如同是一个普通的项目