Descobrir el main.cpp
El paper de main.cpp
Si bé el QML s'utilitza per al frontal de les aplicacions escrites amb el Kirigami, el dorsal generalment s'escriu en C++ gràcies a la velocitat i flexibilitat d'aquest llenguatge. Si bé en les pàgines anteriors hem cobert el QML amb molta profunditat, necessitarem comprendre el nostre codi en C++ del dorsal per a crear aplicacions que siguin més útils del que podem aconseguir amb un QML pur.
Aquí, repassarem el fitxer main.cpp
que hem creat a la pàgina Com començar perquè puguem comprendre millor el que està succeint en el fitxer central de C++ de la nostra aplicació. Si bé aquest és un main.cpp
bàsic, les característiques que repassarem seguiran sent essencials, sense importar la classe d'aplicació que decidiu crear.
Què és el que fa
|
|
Primer hem d'incloure una sèrie de fitxers de capçalera de les Qt, i això ens permetrà utilitzar les seves funcions. En aquest cas, incloem una sèrie de capçaleres de les Qt que manegen la lògica de l'aplicació, llegeixen els fitxers en QML i accedeixen als fitxers definits en el resources.qrc
.
Després creem una instància
QApplication
a la que anomenarem app
. Aquí passem argc i argv al constructor, deixant que les Qt analitzin i utilitzin arguments.
També establim algunes metadades relacionades amb l'aplicació. Aquestes inclouen l'organització que va crear l'aplicació, el lloc web de l'organització i el nom de l'aplicació. Configurem aquestes propietats en el QApplication , un objecte que ve de QCoreApplication i proporciona el bucle d'esdeveniments per a les aplicacions, independentment de si tenen una IGU o no (pel que si executem el nostre programa sense la IGU, aquestes metadades encara s'establiran).
Per a fer que la nostra aplicació sembli nativa al Plasma, Windows o GNOME, utilitzem QQuickStyle::setStyle() per a fer ús de qqc2-desktop-style.
El
QQmlApplicationEngine
permet carregar una aplicació des d'un fitxer QML, el qual fem en la línia següent. A engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
carreguem el nostre QML des d'un URL en el nostre Qt Resource File (resources.qrc
).
A continuació, comprovem si el nostre motor ha carregat correctament el fitxer QML comprovant que la llista rootObjects() del motor no està buida. Després podem executar la nostra aplicació amb app.exec() .