摘要: 如何在Qt中使用自定义数据类型 Q_DECLARE_METATYPE, Qt自定义类型 这里我们使用下面这个struct来做说明(这里不管是struct还是class都一样): struct Player { int number; QString firstName; QString lastName; }; 复制代码 QVariant 为了能在QVariant中使用自定义数据类型做,需要使... 阅读全文
posted @ 2011-03-01 18:57 katago 阅读(19459) 评论(2) 推荐(3)
摘要: 开始 阅读全文
posted @ 2011-03-01 16:31 katago 阅读(216) 评论(0) 推荐(0)
摘要: C++ template Day Day Up 第二天 模板参数推论(deduction) 收藏 Today’s subject is Compile Argument Deduction. 我们平时用template的时候往往需要指定template argument type,实际上很多种情况可以不指定具体的类型,而依赖于编译器的deduction(个人推荐把这个单词翻译成推论,能表达出实际的... 阅读全文
posted @ 2011-03-01 16:24 katago 阅读(548) 评论(0) 推荐(0)
摘要: 析构时候清除pointer template <typename T> struct QScopedPointerDeleter { static inline void cleanup(T *pointer) { // Enforce a complete type. // If you get a compile error here, read the secion on forw... 阅读全文
posted @ 2011-03-01 16:01 katago 阅读(1190) 评论(0) 推荐(0)
摘要: [Qt] QScopedPointer介绍 QScopedPointer 就分配空间和释放空间而言,Qt的处理有点乏味,要不然是通过隐式共享的containers,要不然就是通过QObject的父子关系模式。但总有些时候我们需要在堆上分配一些空间,问题来了,我们该在哪里delete它,如何能够确保不产生内存泄露呢? QScopedPointer就为了解决这个问题而生的,哈哈 QScopedPoin... 阅读全文
posted @ 2011-03-01 15:20 katago 阅读(14572) 评论(0) 推荐(0)
摘要: #ifndef SETTINGS_H #define SETTINGS_H #include <QString> #include <QVariant> class QSettings; class Settings { public: Settings(const QString & fileName); ~Settings(); void setValue ( const QString... 阅读全文
posted @ 2011-03-01 14:49 katago 阅读(3161) 评论(0) 推荐(0)