FAQ Qt FAQ Qt Creator FAQ PyQt & PySide

FAQ QtConsultez toutes les FAQ

Nombre d'auteurs : 25, nombre de questions : 299, dernière mise à jour : 15 octobre 2016 

 
OuvrirSommaireGénéralités techniquesSystèmes supportés

Qt permet à travers toutes ses fonctionnalités de pouvoir identifier l'OS de l'utilisateur du programme. L'identification du système d'exploitation pourra par exemple être bénéfique pour adapter le filtre d'extensions de fichier au système utilisé lors de l'ouverture d'une boîte de dialogue pour l'ouverture ou l'enregistrement d'un fichier, ceux-ci pouvant être de types différents selon la plateforme utilisée.

La documentation fournit les informations nécessaires à l'identification de toutes les plateformes supportées. Par exemple, pour Mac, on y trouve Q_WS_MAC et pour Windows, on y trouve Q_WS_WIN.

L'exploitation de l'information sur la plateforme peut prendre la forme suivante :

 
Sélectionnez

#if defined(Q_WS_WIN)
// ...
#endif

Les instructions comprises entre #if et #endif ne seront exécutées que si la plateforme utilisée est Microsoft Windows.

Voici un exemple vous permettant d'identifier le système d'exploitation utilisé et de l'indiquer à l'utilisateur dans une boîte de dialogue.

 
Sélectionnez
#include <QtGui/QApplication>
#include <QtGui/QMainWindow>
#include <QtGui/QMessageBox>

class FenPrincipale : public QMainWindow
{
    Q_OBJECT
    public:
    FenPrincipale()
    {
        #if defined(Q_WS_WIN) // Si on est sous Windows
        QMessageBox::information(NULL, "Nom de l'OS", "Vous tournez sous Windows !");
        #endif
        #if defined(Q_WS_QWS) // Si on est sous Embedded Linux
        QMessageBox::information(NULL, "Nom de l'OS", "Vous tournez sous Embedded Linux !");
        #endif
        #if defined(Q_WS_MAC) // Si on est sous Mac
        QMessageBox::information(NULL, "Nom de l'OS", "Vous tournez sous Mac !");
        #endif
        #if defined(Q_WS_X11) // Si on est sous X11
        QMessageBox::information(NULL, "Nom de l'OS", "Vous tournez sous X11 !");
        #endif
    }
};

#include "main.moc"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    FenPrincipale fenetre;
    fenetre.show();
    exit(0);
}
Mis à jour le 7 mai 2012  par Louis du Verdier
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2006 - 2016 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.