一
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
運作結果:
三
編寫一個靜态庫
建立項目:
一直點選,直到完成。
這裡的靜态庫就如同是一個普通的項目