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ó i ens permet accedir a fitxers QML.
Després creem una instància QApplication a la que anomenarem app
. La crida requereix passar argc i argv al constructor.
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ó es vegi bé amb les icones Brisa i l'estil Brisa de KDE en entorns no Plasma com el Windows o el GNOME, hem de fer tres coses:
- inicialitzar les funcions de tematització dels KIconThemes a les plataformes on els temes d'icones no formen part del sistema (com el Windows o el MacOS) amb
withKIconTheme::initTheme()
- definir el QStyle amb QApplication::setStyle() per a forçar el Brisa en lloc de l'estil natiu de la plataforma
- definir l'estil del QtQuick Controls amb QQuickStyle::setStyle() per a forçar el Brisa amb el qqc2-desktop-style de KDE
La crida a KIconTheme::initTheme()
cal fer-la abans de crear la QApplication i permetre que l'aplicació trobi les icones Brisa a usar. Cal establir el QStyle a Brisa perquè usem QApplication per a la nostra aplicació en lloc de QGuiApplication. Els controls reals de la interfície de la finestra com botons i caselles de selecció seguiran el Brisa utilitzant 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.loadFromModule("org.kde.tutorial", "Main");
carreguem el nostre QML des de l'URI d'importació definit al CMake.
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().