Qt笔记——官方文档全局定义(三)Macros宏

系列汇总:

Qt笔记——官方文档全局定义(一)Types数据类型:https://blog.csdn.net/qq_41895747/article/details/104084660

Qt笔记——官方文档全局定义(二)Functions函数:https://blog.csdn.net/qq_41895747/article/details/104091158

Qt笔记——官方文档全局定义(三)Macros宏:https://blog.csdn.net/qq_41895747/article/details/104196369

第三篇拖了好久,主要是太多了,很多我根本没有用过,还是挑出常用的写一写


在QtGobal中有近百个内置全局定义,常用的大概二十余个,分成Types数据类型、Functions函数、Macros宏定义

文档地址:https://doc.qt.io/qt-5/qtglobal.html#QFunctionPointer-typedef


目录

系列汇总:

QT_VERSION

QT_VERSION_CHECK

QT_VERSION_STR

qDebug(const char *message, ...)

Q_DECL_OVERRIDE

Q_UNUSED(name)

Q_DECL_FINAL


QT_VERSION

数值形式的版本信息,比如在Qt 4.1.2中,QT_VERSION宏将扩展为0x040102。

QT_VERSION_CHECK

整数形式的版本信息。格式: 0xMMNNPP (MM = major, NN = minor, PP = patch)

QT_VERSION_STR

字符串形式的版本信息。比如“4.1.2”

qDebug(const char *message...)

调试时用的,格式:

qDebug("Items in list: %d", myList.size());

如果include<QtDebug>后,还可以这么用:

qDebug() << "已经执行到这一步" << endl;

Q_DECL_OVERRIDE

用于重载一个虚函数,如果重载的虚函数没有进行任何操作,编译器会报错!

常用在自定义插件的和库的时候使用

protected:
    void    paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;

Q_UNUSED(name)

用于在函数内部定义不在函数体内使用的参数,可以消除编译器的警告。

例子:

void MainWindow::on_currentChanged(const QModelIndex &current, const QModelIndex &previous){
    //定义不在函数体中使用过的参数,可以消除编译器产生的警告
//    Q_UNUSED(current);
//    Q_UNUSED(previous);
    //更新状态,将保存键和取消键设置为可用状态
    ui->SaveAction->setEnabled(true);
    ui->CancleAction->setEnabled(true);
}

current和previous在函数体内没有使用,编译器会发出警告:

加上后即可:

void MainWindow::on_currentChanged(const QModelIndex &current, const QModelIndex &previous){
    //定义不在函数体中使用过的参数,可以消除编译器产生的警告
    Q_UNUSED(current);
    Q_UNUSED(previous);
    //更新状态,将保存键和取消键设置为可用状态
    ui->SaveAction->setEnabled(true);
    ui->CancleAction->setEnabled(true);
}

Q_DECL_FINAL

将一个虚函数定义为最终级别,不能再被重载;或者定义一个不能再重载的类。

如果支持C++11,直接用final代替!

虚函数:

 // more-derived classes no longer permitted to override this:
    virtual void MyWidget::paintEvent(QPaintEvent*) final;

类:

 class QRect final { // cannot be derived from
        // ...
    };

还有些常用的比如Q_OBJECT等,不是在<QtGlobal>中的,不再赘述

发布了287 篇原创文章 · 获赞 297 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/qq_41895747/article/details/104196369