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;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以尝试以下步骤解决这个错误: 1. 首先,请确保你的QT安装路径为D:\QT\5.14.2\msvc2017_64。 2. 根据引用中的描述,你需要将D盘下的QtCore文件夹下的所有文件复制到你的QT安装目录的指定编译器目录下。这个目录可能是D:\QT\5.14.2\msvc2017_64\include\QtCore。 3. 接着,请确保你的C盘根目录下生成了Qt可用的dll驱动文件。你可以参考引用中提到的方法来完成这一步。 4. 如果你还是遇到了错误,请参考引用中提供的链接下载相应的文件,然后按照引用中的指导将文件放置到正确的位置。 5. 最后,请确认你在编译过程中没有使用不兼容的信号和槽参数。在引用中提到的错误信息中,显示了错误发生在qobject.h文件的第255行,可能是由于信号和槽参数不兼容导致的。请检查你在使用信号和槽时的参数是否匹配。 希望以上步骤能帮助你解决这个错误。如果问题仍然存在,请提供更多细节,我们将尽力帮助你解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [QT错误](https://blog.csdn.net/m0_48335178/article/details/111708141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Qt 5.14.2 MinGW 7.3.0/MSVC2017_64编译Oracle驱动笔记](https://blog.csdn.net/qq_43418269/article/details/122238412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值