沉沉的黑夜都是白天的前奏。——郭小川
舍弃IDE或qmake、cmake等工具的束缚,通过几个例子, 一步步从标准 C++ 的编译过渡到 Qt 的编译。
Qt 对 C++ 的扩展主要是3个方面:
1)元对象系统,包含Q_OBJECT宏的文件(.h, .cpp等)需要 moc 预处理
2)资源系统,.qrc 文件 需要 rcc 进行预处理
3)界面系统,.ui 文件 需要 uic 进行预处理
这3者之中,元对象系统最复杂,也是 Qt 程序中重要的。 Qt5增加的qml也是一个亮点!
例子一:简单的控制台程序
#include <QtCore/QCoreApplication>
#include <QtCore/QDebug>
int main(int argc, char** argv)
{
//#QApplication这个类是继承QCoreApplication的,而QCoreApplication有继承QObject的,//而QObject就是QT中最基本
//#的基类,也就是QT的根基了. QCoreApplication class is used by non-GUI applications to provide their event loop.
// http://doc.qt.io/qt-5/qcoreapplication.html#details
QCoreApplication app(argc, argv);
qDebug()<<"hello qt!";
app.exec();
}
一个很简单的例子,没用到Qt扩展:(也就是说,这是一个普通的C++程序)。