QObject.h

1, 防止头文件重复包含

#ifndef QOBJECT_H
#define QOBJECT_H

2, 条件编译

#ifndef QT_NO_QOBJECT
#endif 

3, 前置声明类,用于类指针或引用的声明

class QEvent;
class QTimerEvent;

4, typedef 别名

typedef QList<QObject*> QObjectList;

5,类导出导入函数

#  define Q_DECL_EXPORT __declspec(dllexport)
#  define Q_DECL_IMPORT __declspec(dllimport)

6, 私有类

class Q_CORE_EXPORT QObjectData {
};

7,用于继承的纯虚析构函数

virtual ~QObjectData() = 0;

8, explicit

 Q_INVOKABLE explicit QObject(QObject *parent=nullptr);
 ```
C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生,声明为explicit的构造函数不能在隐式转换中使用。
9,虚成员函数,子类必须继承,也为虚函数。

virtual bool event(QEvent *event);

10inline 内联函数,const函数表示该成员函数不会修改类的数据。否则会编译报错。 const *this;
inline bool isWidgetType() const { return d_ptr->isWidget; }

“`
11.,函数参数的默认参数

int startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer);

12,STL
template
13, 类static函数,只属于类,用ClassName::FunName();调用。

static QMetaObject::Connection connect(const QObject *sender, const char *signal,
                        const QObject *receiver, const char *member, Qt::ConnectionType = Qt::AutoConnection);

14,const引用参数,常用

bool setProperty(const char *name, const QVariant &value);

15, friend

  friend struct QMetaObject;
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值