逐行解析第一個 Qt 程式,建立清晰架構認知。
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello, world!");
label->show();
return app.exec();
}
#include:引入頭檔,類別名即頭檔名(如 QLabel → <QLabel>),類似 Java importmain():標準 C++ 入口,Qt 不像 wxWidgets 需繼承特定類別覆寫方法QApplication app(argc, argv):管理應用程式層級資源,支援命令列參數QLabel *label = new QLabel(...):建立標籤元件,widget 為元件統稱(可容納子元件),頂層元件不限於 QMainWindow/QDialoglabel->show():元件預設不可見,需手動顯示,避免閃爍return app.exec():移交控制權給 Qt,進入事件循環,類似 gtk_main()記憶體釋放:程式結束由 OS 回收,大型專案需謹慎管理。
QLabel *label = new QLabel("<h2><font color='red'>Hello</font>, world!</h2>");

同 Swing JLabel,支援 HTML 解析。
QApplication app(argc, argv);
// ...
return app.exec();
需 qmake -project 產生 .pro → qmake 產生 Makefile → make/nmake 編譯。IDE 自動處理。