C++/Qt的常见宏
#if
、#endif
和#else
系列- 当前源代码行号
__LINE__
- 当前源代码文件名
__FILE__
- 当前编译日期
__DATE__
- 当前编译时间
__TIME__
- 当前系统时间戳
__TIMESTAMP__
- 要求程序严格遵循ANSIC标准时
__STDC__
- 用C++编译器编译
__cplusplus
- 当前源代码函数名
__FUNCTION__
QT_BEGIN_NAMESPACE
和QT_END_NAMESPACE
系列(Qt用) 一般可以和头文件相互替换
如:QT_BEGIN_NAMESPACE class QLabel; class QPushButton; QT_END_NAMESPACE
Q_OBJECT
放在类的开头,如果在需要使用信号和槽,需要在类中写入Q_OBJECT
进行标注class NewAddressTab : public QWidget { Q_OBJECT public: NewAddressTab(QWidget *parent = nullptr); public slots: void addEntry(); signals: void sendDetails(const QString &name, const QString &address); };
关于日期上的宏,我们对此应用最多的是日志系统,应用如下:
void TestLib::printTest()
{
qDebug() << __DATE__ << __TIME__ << __FILE__ << __FUNCTION__;
}
实际上的输出