FAQ Qt
FAQ QtConsultez toutes les FAQ
Nombre d'auteurs : 26, nombre de questions : 298, dernière mise à jour : 15 juin 2021
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 :
#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.
#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
);
}