Logs
Consultez les logs.
OK
Liste des données
Consultez la liste des données.
OK
Loading...
Formulaire
Saisissez vos données.
Enregistrer
Annuler

Apprendre Qt Creator

Vues
145

Introduction


C++ est un langage de programmation orientée objet. Il offre la possibilité d'avoir le contrôle total sur la gestion de la mémoire.


### Travailler avec Qt Creator


Qt Creator est un environnement de développement intégré prenant en charge le développement de projet C++ avec Qt. 


Installer Qt Creator sous Windows


Qt est un gestionnaire d'interfaces homme-machine supporté par Windows.

// Google Chrome (Télécharger Qt Creator pour Windows)
...
# Accéder la page officielle de Qt
https://www.qt.io/
...
# Ouvrir la page de connexion
Qt Account Link
...
# Démarrer la connexion
Email > youremail@domain.com
Password > [mot-de-passe]
Sign in
...
# Ouvrir la page de téléchargement
https://www.qt.io/download-open-source
Download the Qt Online Installer
Download Qt for open source use > Windows x64
Qt Online Installer for Windows (x64)
...

// Windows (Installer Qt)
...
Double clic > [installeur] > Suivre les instructions > Installer
...
# Configurer la licence Qt Open Source
Cocher > J'ai lu et j'accepte les termes et conditions d'utilisation d'Open Source Qt
Cocher > Je suis un particulier et n'utilise Qt pour le compte d'aucune entreprise
Suivant > Suivant
...
# Configurer l'envoi des statistiques
Cocher > Désactiver l'envoi de statistiques d'utilisation pseudonymes dans Qt Creator
Suivant
...
# Configurer le type d'installation
Emplacement > C:\tools\Qt
Cocher > Installation personnalisée
Suivant
...
# Configurer les composants Qt
Qt > Qt 8.8.2 > Cocher > Android
Suivant
...
# Configurer la licence
Cocher > J'ai lu et accepte les termes contenus dans la licence d'accords
Suivant > Suivant > Installer > Terminer
...

// Windows (Ouvrir Qt Creator)
...
Bouton Windows > Qt Creator 11.0.1 (Community)
...


Installer Qt sous Ubuntu


Qt est un gestionnaire d'interfaces homme-machine supporté par Ubuntu.

// Terminal-Ubuntu (Installer Qt)
...
# Rechercher le package de base de Qt
sudo apt-cache search qt | grep base
...
# Identifier le package de base de Qt
qt6-base-dev - Qt 6 base development files
qtbase5-dev - Qt 5 base development files
...
# Installer le package de base de Qt
qt6-base-dev - Qt 6 base development files
...


Configurer Android sous Qt Creator


Qt est un gestionnaire d'interfaces homme-machine prenant en charge le développement d'application Android.

// Qt Creator (Configurer Android)
...
# Ouvrir le menu des préférences
Edition > Préférences
...
# Configurer JDK pour Android
Périphériques > Android
Emplacement du JDK > [nom-repertoire] > Open JDK Download URL
Télécharger Temurin pour Windows x64 > Dernière Version LTS JDK-24.0.6
# Installer la dernière version de JDK
Double clic > [installeur] > Suivre les instructions > Installer
# Configurer la dernière version de JDK
Emplacement du JDK > Parcourir > [nom-repertoire-derniere-version]
...
# Configurer SDK pour Android
Périphériques > Android
Emplacement SDK Android > [nom-repertoire] > Set Up SDK
Suivre les instructions > Installer
...
# Configurer une image Android
Périphériques > Android > SDK Manager
Android-35 > Cocher > SDK Platform
Android-35 > Cocher > Google APIs ATD Intel x86_64 Atom System Image
Appliquer > OK > OK
...
# Redémarrer Qt Creator
...


Créer un AVD sous Qt Creator


Un AVD est Emulateur Virtuel Android (Android Virtual Device). Il permet d'émuler un appareil Android sur l'ordinateur afin de tester un projet Android. Qt Creator prend en charge la création d'appareil Android (AVD). Il est recommandé de créer un AVD sous Android Studio et de l'utiliser sous Qt Creator.

// Qt Creator (Créer un AVD)
...
# Ouvrir le menu des préférences
Edition > Préférences
...
# Ouvrir l'assistant AVD
Périphériques > Périphériques > Ajouter
Périphérique Android > Démarrer l'assistant
...
# Configurer l'AVD
Nom > [nom-avd]
Device definition > Phone > Galaxy Nexus
Architecture (ABI) > x86_64
API cicle > Android-35 (google_add)
Taille de la carte SD > 512 Moi
OK
...

image.png

// Qt Creator (Configurer un AVD)
...
# Ouvrir le menu des préférences
Edition > Préférences
...
# Configurer un AVD
Périphériques > Périphériques
Périphérique > [nom-avd] > Start AVD
...

image.png

// Windows (Ouvrir le répertoire des AVD)
...
C:\Users\tiaka\.android\avd\
...
C:\Users\tiaka\.android\avd\Pixel_7_Pro_API_30.avd
C:\Users\tiaka\.android\avd\Pixel_9_API_30.avd
C:\Users\tiaka\.android\avd\Pixel_9_Pro_XL_API_30.avd
...

// emulator-user.ini (Configuration par défaut d'un AVD)
...
# C:\Users\tiaka\.android\avd\Pixel_9_Pro_XL_API_30.avd\
# emulator-user.ini
...
window.x = 100
window.y = 100
window.scale = -1.000000
resizable.config.id = -1
posture = 0
extended_controls.x = 10
extended_controls.y = 97
extended_controls.hanchor = 0
extended_controls.vanchor = 0
uuid = 1739656328905
...

// emulator-user.ini (Configuration fonctionnelle d'un AVD sous Qt Creator)
...
# C:\Users\tiaka\.android\avd\Pixel_9_Pro_XL_API_30.avd\
# emulator-user.ini
...
window.x = 0
window.y = 0
window.scale = 0.01
resizable.config.id = -1
posture = 0
extended_controls.x = 10
extended_controls.y = 97
extended_controls.hanchor = 0
extended_controls.vanchor = 0
uuid = 1739656328905
...

image.png


Créer un projet C++ Qt sous Qt Creator


Qt Creator est un environnement de développement intégré prenant en charge le développement de projet C++ avec Qt. Les projets C++ Qt sont dédiés aux applications bureau multiplateformes (Windows, Linux, MacOS).

// Qt Creator (Créer un projet C++ Qt)
...
# Ouvrir le menu des projets
Fichier > Nouveau projet
...
# Configurer le type de projet
Projets > Application (Qt) > Application Qt avec Widgets
Suivant
...
# Configurer le nom du projet
Nom > rdvcpp
Créer dans > [nom-repertoire-projet]
Suivant
...
# Configurer le système de compilation
Système de compilation > CMake > Suivant
...
# Configurer la fenêtre principale
Nom de la classe > cMainWindow
Classe parente > QMainWindow
Fichier d'en-tête > cMainWindow.h
Fichier source > cMainWindow.cpp
Cocher > Générer le formaulaire
Fichier d'interface > cMainWindow.ui
Suivant
...
# Configurer le fichier de traduction
Langue > French (France)
Fichier de traduction > rdvcpp_fr_FR
Suivant
...
# Configurer le Kit de développement
Cocher > Desktop Qt 6.5.2 MSVC2019 64bit
Suivant
...
# Configurer la gestion des versions
Ajouter au gestionnaire de version > Aucun
Terminer
...

// main.cpp (Programme principal)
...
#include "cMainWindow.h"

#include <QApplication>
#include <QLocale>
#include <QTranslator>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QTranslator translator;
    const QStringList uiLanguages = QLocale::system().uiLanguages();
    for (const QString &locale : uiLanguages) {
        const QString baseName = "rdvcpp_" + QLocale(locale).name();
        if (translator.load(":/i18n/" + baseName)) {
            a.installTranslator(&translator);
            break;
        }
    }
    cMainWindow w;
    w.show();
    return a.exec();
}
...

// CMakeLists.txt (Gestion du projet C++ Qt)
...
cmake_minimum_required(VERSION 3.5)

project(rdvcpp VERSION 0.1 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets LinguistTools)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools)

set(TS_FILES rdvcpp_fr_FR.ts)

set(PROJECT_SOURCES
    main.cpp
    cMainWindow.cpp
    cMainWindow.h
    cMainWindow.ui
    ${TS_FILES}
)

if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
    qt_add_executable(rdvcpp
        MANUAL_FINALIZATION
        ${PROJECT_SOURCES}
    )
# Define target properties for Android with Qt 6 as:
#    set_property(TARGET rdvcpp APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
#                 ${CMAKE_CURRENT_SOURCE_DIR}/android)
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation

    qt_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
else()
    if(ANDROID)
        add_library(rdvcpp SHARED
            ${PROJECT_SOURCES}
        )
# Define properties for Android with Qt 5 after find_package() calls as:
#    set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
    else()
        add_executable(rdvcpp
            ${PROJECT_SOURCES}
        )
    endif()

    qt5_create_translation(QM_FILES ${CMAKE_SOURCE_DIR} ${TS_FILES})
endif()

target_link_libraries(rdvcpp PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)

# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
if(${QT_VERSION} VERSION_LESS 6.1.0)
  set(BUNDLE_ID_OPTION MACOSX_BUNDLE_GUI_IDENTIFIER com.example.rdvcpp)
endif()
set_target_properties(rdvcpp PROPERTIES
    ${BUNDLE_ID_OPTION}
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)

include(GNUInstallDirs)
install(TARGETS rdvcpp
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)

if(QT_VERSION_MAJOR EQUAL 6)
    qt_finalize_executable(rdvcpp)
endif()
...

// Qt Creator (Compiler le projet)
...
Compiler > Compiler le projet « [nom-projet] »
...

image.png

// Qt Creator (Exécuter le projet)
...
Compiler > Exécuter
...

image.png

image.png

image.png


Créer un projet C++ QML sous Qt Creator


Qt Creator est un environnement de développement intégré prenant en charge le développement de projet C++ avec QML. Les projets C++ QML sont dédiés aux applications bureau ou mobile multiplateformes (Windows, Linux, MacOS, Android, iOS).

// Qt Creator (Créer un projet C++ QML)
...
# Ouvrir le menu des projets
Fichier > Nouveau projet
...
# Configurer le type de projet
Projets > Application (Qt) > Application Qt Quick
Suivant
...
# Configurer le nom du projet
Nom > rdvcpp
Créer dans > [nom-repertoire-projet]
Suivant
...
# Configurer la version minimale de Qt
Décocher > Creates a project that you can open in Qt Design Studio
Décocher > Utiliser un clavier virtuel Qt
The minimum version of Qt > Qt 6.5
Suivant
...
# Configurer le Kit de développement
Cocher > Android Qt 6.5.2 Clang armeabi-v7a
Suivant
...
# Configurer la gestion des versions
Ajouter au gestionnaire de version > Aucun
Terminer
...

// main.cpp (Programme principal)
...
#include <QGuiApplication>
#include <QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);

    QQmlApplicationEngine engine;
    QObject::connect(
        &engine,
        &QQmlApplicationEngine::objectCreationFailed,
        &app,
        []() { QCoreApplication::exit(-1); },
        Qt::QueuedConnection);
    engine.loadFromModule("rdvcpp", "Main");

    return app.exec();
}
...

// CMakeLists.txt (Gestion du projet C++ QML)
...
cmake_minimum_required(VERSION 3.16)

project(rdvcpp VERSION 0.1 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Qt6 REQUIRED COMPONENTS Quick)

qt_standard_project_setup(REQUIRES 6.5)

qt_add_executable(apprdvcpp
    main.cpp
)

qt_add_qml_module(apprdvcpp
    URI rdvcpp
    VERSION 1.0
    QML_FILES
        Main.qml
)

# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
# If you are developing for iOS or macOS you should consider setting an
# explicit, fixed bundle identifier manually though.
set_target_properties(apprdvcpp PROPERTIES
#    MACOSX_BUNDLE_GUI_IDENTIFIER com.example.apprdvcpp
    MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
    MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
    MACOSX_BUNDLE TRUE
    WIN32_EXECUTABLE TRUE
)

target_link_libraries(apprdvcpp
    PRIVATE Qt6::Quick
)

include(GNUInstallDirs)
install(TARGETS apprdvcpp
    BUNDLE DESTINATION .
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
...

// Qt Creator (Compiler le projet)
...
Compiler > Compiler le projet « [nom-projet] »
...

image.png

// Qt Creator (Exécuter le projet)
...
Compiler > Exécuter
...

image.png

image.png


Ajouter un compilateur Android sous Qt Creator


Qt Creator prend en charge la gestion de plusieurs compilateurs Android afin de tester un projet Android pour différents cibles.

// Qt Creator (Ajouter un compilateur Android)
...
# Ajouter un compilateur Android
Projets > Compiler et Exécuter
Ajouter > Android Qt 6.5.2 Clang arm64-v8a
Ajouter > Android Qt 6.5.2 Clang armeabi-v7a
Ajouter > Android Qt 6.5.2 Clang x86
Ajouter > Android Qt 6.5.2 Clang x86_64
...

image.png


Configurer l'appareil Android pour le débogage sous Qt Creator


Qt Creator permet de configurer l'appareil Android sur lequel sera exécuté le projet Android.

// Qt Creator (Configurer l'appareil Android de débogage)
...
# Configurer l'appareil Android de débogage
[nom-projet] Debug > Run Device > [nom-avd]
...

image.png


Vérifier la version minimal du JDK Gradle sous Qt Creator


Gradle est un compilateur de projet prenant en charge la compilation de projet Android. Construit en Java, Gradle fonctionne correctement jusqu'à une certaine version minimale du Kit de Développement Java (JDK).

// Windows (Vérifier la version minimale du JDK Gradle)
...
# Ouvrir le répertoire de construction du projet Qt Android
[nom-projet]\build\Android_Qt_6_8_2_Clang_armeabi_v7a-Debug\android-build-app[nom-projet]\
...
# Ouvrir le fichier de configuration Gradle
build.gradle
...
# Vérifier la version minimale du JDK Gradle
...
android {
    ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    ...
}
...

image.png

image.png