系列汇总:
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
目录
qDebug(const char *message, ...)
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 ¤t, 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 ¤t, 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>中的,不再赘述