|
typedef QtMsgHandler
enum QtMsgType { QtDebugMsg, QtWarningMsg, QtCriticalMsg, QtFatalMsg, QtSystemMsg }
typedef qint8
typedef qint16
typedef qint32
typedef qint64
typedef qlonglong
typedef qptrdiff
typedef qreal
typedef quint8
typedef quint16
typedef quint32
typedef quint64
typedef quintptr
typedef qulonglong
typedef uchar
typedef uint
typedef ulong
typedef ushort
T qAbs ( const T & value )
const T & qBound ( const T & min, const T & value, const T & max )
void qCritical ( const char * msg, ... )
void qDebug ( const char * msg, ... )
void qFatal ( const char * msg, ... )
bool qFuzzyCompare ( double p1, double p2 )
bool qFuzzyCompare ( float p1, float p2 )
QtMsgHandler qInstallMsgHandler ( QtMsgHandler handler )
int qMacVersion ()
const T & qMax ( const T & value1, const T & value2 )
const T & qMin ( const T & value1, const T & value2 )
qint64 qRound64 ( qreal value )
int qRound ( qreal value )
const char * qVersion ()
void qWarning ( const char * msg, ... )
T * q_check_ptr ( T * pointer )
QByteArray qgetenv ( const char * varName )
bool qputenv ( const char * varName, const QByteArray & value )
int qrand ()
void qsrand ( uint seed )
QString qtTrId ( const char * id, int n = -1 )
void qt_set_sequence_auto_mnemonic ( bool on )
int qt_symbian_exception2Error ( const std::exception & aThrow )
void qt_symbian_exception2LeaveL ( const std::exception & aThrow )
void qt_symbian_throwIfError ( int error )
QT_REQUIRE_VERSION ( int argc, char ** argv, const char * version )
QT_TRANSLATE_NOOP3 ( context, sourceText, comment )
QT_TRANSLATE_NOOP ( context, sourceText )
QT_TRAP_THROWING ( function )
QT_TRID_NOOP ( id )
QT_TRYCATCH_ERROR ( error, function )
QT_TRYCATCH_LEAVING ( function )
QT_TR_NOOP ( sourceText )
void Q_ASSERT ( bool test )
void Q_ASSERT_X ( bool test, const char * where, const char * what )
void Q_CHECK_PTR ( void * pointer )
Q_DECLARE_TYPEINFO ( Type, Flags )
Q_FOREACH ( variable, container )
const char * Q_FUNC_INFO ()
qint64 Q_INT64_C ( literal )
quint64 Q_UINT64_C ( literal )
Q_UNUSED ( name )
foreach ( variable, container )
const char * qPrintable ( const QString & str )
Les d�clarations globales incluent des types, des fonctions et des macros.
Les d�finitions des types sont en partie des red�finitions de types de base (certains garantissent une taille fixe pour toutes les plates-formes sur lesquelles Qt fonctionne) et en partie des types li�s � la gestion des messages Qt. Les fonctions sont li�es � la gestion des messages, � la gestion des versions de Qt et � la comparaison et l'ajustement des valeurs des objets. Enfin, certaines macros permettent aux programmeurs d'ajouter du code sp�cifique � la plate-forme dans leurs applications, alors que d'autres macros facilitent des op�rations lourdes.
Le fichier d'en-t�te d�clare plusieurs d�finitions de types qui garantissent une certaine taille pour toutes les plates-formes pour diff�rents types de base, par exemple qint8 est un caract�re sign� qui aura toujours une taille de 8 bits sur toutes les plates-formes. Le fichier d'en-t�te d�clare aussi le type qlonglong pour long long int (__int64 sous Windows).
Plusieurs d�finitions de type sont des d�clarations de commodit� : qreal pour double, uchar pour unsigned char, uint pour unsigned int, ulong pour unsigned long et ushort pour unsigned short.
Pour finir, la d�finition QtMsgType identifie les divers messages qui peuvent �tre g�n�r�s et envoy�s � un gestionnaire de messages Qt ; QtMsgHandler est une d�finition de type pour un pointeur vers une fonction ayant la signature void myMsgHandler(QtMsgType, const char *).
Le fichier d'en-t�te <QtGlobal> contient plusieurs fonctions comparant et ajustant les valeurs des objets. Ces fonctions prennent un type template comme argument : vous pouvez r�cup�rer la valeur absolue d'un objet avec la fonction qAbs() et vous pouvez borner la valeur d'un objet en donnant un minimum et un maximum � la fonction qBound(). Vous pouvez r�cup�rer le minimum et le maximum de deux objets donn�s avec les fonctions qMin() et qMax() respectivement. Toutes ces fonctions retournent le type template correspondant ; les types template peuvent �tre remplac�s par n'importe quel autre type.
Exemple :
int myValeur = 10; int minValeur = 2; int maxValeur = 6; int boundedValeur = qBound(minValeur, myValeur, maxValeur); // boundedValeur == 6
<QtGlobal> contient aussi des fonctions pour g�n�rer des messages � partir de la cha�ne de caract�res pass�e en argument : qCritical(), qDebug(), qFatal() et qWarning(). Ces fonctions appellent le gestionnaire de messages avec le message donn�.
Exemple :
if (!driver()->isOpen() || driver()->isOpenError()) { qWarning("QSqlQuery::exec: database not open"); return false; }
Les fonctions restantes sont qRound() et qRound64(), qui acceptent une valeur qreal comme argument et retournent respectivement la valeur arrondie � l'entier ou � l'entier 64 bits sup�rieur. La fonction qInstallMsgHandler() installe le QtMsgHandler donn� et la fonction qVersion() retourne � l'ex�cution le num�ro de version de Qt dans une cha�ne de caract�res.
Le fichier d'en-t�te <QtGlobal> fournit une s�rie de macros (Q_CC_*) qui sont d�finies si l'application est compil�e sur certaines plates-formes sp�cifiques. Par exemple, la macro Q_CC_SUN est d�finie si l?application est compil�e avec Forte Developer ou Sun Studio C++. Le fichier d'en-t�te d�clare aussi un ensemble de macros (Q_OS_*) qui sont d�finies pour les plates-formes sp�cifi�es. Par exemple, Q_OS_X11 est d�finie pour le syst�me de fen�tres X.
Le but de ces macros est de permettre aux programmeurs d'ajouter du code sp�cifique aux plates-formes ou aux compilateurs dans l'application.
Les macros restantes sont des macros simplifiant des op�rations plus lourdes : les macros QT_TRANSLATE_NOOP() et QT_TR_NOOP() permettent de marquer le texte pour une traduction dynamique, c'est-�-dire sans devoir changer le texte source. Les macros Q_ASSERT() et Q_ASSERT_X() activent des messages d'avertissement de divers niveaux d'importance. Les macros Q_FOREACH() et foreach() impl�mentent une boucle « pour chaque » dans Qt.
Les macros Q_INT64_C() et Q_UINT64_C() fournissent une repr�sentation sur 64 bits d'un entier sign� ou non sign� ind�pendante de la plate-forme. La macro Q_CHECK_PTR() affiche un message d'avertissement contenant le nom de fichier du code source et le num�ro de la ligne, disant que le programme n'a plus de m�moire, si le pointeur est nul. La macro qPrintable() fournit une m�thode simple pour afficher du texte.
Pour finir, la macro QT_POINTER_SIZE donne la taille d'un pointeur en octets et les macros QT_VERSION et QT_VERSION_STR donnent dans une valeur num�rique ou une cha�ne de caract�res, respectivement, le num�ro de version de Qt, c'est-�-dire la version avec laquelle l'application est compil�e.
Voir aussi <QtAlgorithms> et QSysInfo.
C'est un typedef pour un pointeur de fonction ayant la signature suivante :
void myMsgHandler(QtMsgType, const char *);
Voir aussi QtMsgType et qInstallMsgHandler().
Cette �num�ration d�crit les messages pouvant �tre envoy�s au gestionnaire de messages (QtMsgHandler). Vous pouvez utiliser l'�num�ration pour identifier et associer les diff�rents types de messages aux actions appropri�es.
Constante | Valeur | Description |
QtDebugMsg | Un message g�n�r� par la fonction qDebug(). | |
QtWarningMsg | 1 | Un message g�n�r� par la fonction qWarning(). |
QtCriticalMsg | 2 | Un message g�n�r� par la fonction qCritical(). |
QtFatalMsg | 3 | Un message g�n�r� par la fonction qFatal(). |
QtSystemMsg | QtCriticalMsg |
Voir aussi QtMsgHandler et qInstallMsgHandler().
Typedef pour signed char. Ce type sera toujours de taille 8 bits pour les plates-formes support�es par Qt.
Typedef pour signed short. Ce type sera toujours de taille 16 bits pour les plates-formes support�es par Qt.
Typedef pour signed int. Ce type sera toujours de taille 32 bits pour les plates-formes support�es par Qt.
Typedef pour long long int (__int64 sous Windows). Ce type sera toujours de taille 64 bits pour les plates-formes support�es par Qt.
Des valeurs de ce type peuvent �tre cr��es avec la macro Q_INT64_C():
qint64 value = Q_INT64_C(932838457459459);
Voir aussi Q_INT64_C(), quint64 et qlonglong.
Typedef pour long long int (__int64 sous Windows). Ceci est identique � qint64.
Voir aussi qulonglong et qint64.
Type entier pour repr�senter les diff�rences de pointeurs.
Typedef pour les qint32 ou qint64. Ce type sera toujours de la m�me taille que les pointeurs sur toutes les plates-formes support�s par Qt. Sur un syst�me utilisant des pointeurs 32 bits, qptrdiff est un typedef pour quint32 ; sur un syst�mes utilisant des pointeurs 64 bits, qptrdiff est un typedef pour quint64.
Notez que qtrdiff est sign�. Utilisez quintptr pour des valeurs non sign�es.
Voir aussi quintptr, qint32 et qint64.
Typedef pour double sur toutes les plates-formes sauf les CPU utilisant les architectures ARM. Sur les plates-formes bas�es sur ARM, qreal est un typedef pour float pour des raisons de performances.
Typedef pour unsigned char. Ce type sera toujours de taille 8 bits pour les plates-formes support�es par Qt.
Typedef pour unsigned short. Ce type sera toujours de taille 16 bits pour les plates-formes support�es par Qt.
Typedef pour unsigned int. Ce type sera toujours de taille 32 bits pour les plates-formes support�es par Qt.
Typedef pour unsigned long long int (unsigned __int64 sous Windows). Ce type sera toujours de taille 64 bits pour les plates-formes support�es par Qt.
Des valeurs de ce type peuvent �tre cr��es avec la macro Q_UINT64_C():
quint64 value = Q_UINT64_C(932838457459459);
Voir aussi Q_UINT64_C(), qint64 et qulonglong.
Type entier repr�sentant un pointeur (utile pour le hachage, etc.).
Typedef pour les quint32 ou quint64. Ce type sera toujours de la m�me taille que les pointeurs sur toutes les plates-formes support�es par Qt. Sur un syst�me utilisant des pointeurs 32 bits, quintptr est un typedef pour quint32 ; sur un syst�me utilisant des pointeurs 64 bits, quintptr est un typedef pour quint64.
Notez que quintptr est non sign�. Utilisez qptrdiff pour des valeurs sign�es.
Voir aussi qptrdiff, quint32 et quint64.
Typedef pour unsigned long long int (unsigned __int64 sous Windows). Identique � quint64.
Voir aussi quint64 et qlonglong.
Typedef de commodit� pour unsigned char.
Typedef de commodit� pour unsigned int.
Typedef de commodit� pour unsigned long.
Typedef de commodit� pour unsigned short.
Compare value au 0 du type T et retourne une valeur absolue. Donc si T est un double, value est compar� � (double) 0.
Exemple:
int absoluteValue int myValue = -4; absoluteValue = qAbs(myValue); // absoluteValue == 4
Retourne la valeur value born�e par min et max. Cette fonction �quivaut � qMax(min, qMin(value, max)).
Exemple:
int myValue = 10; int minValue = 2; int maxValue = 6; int boundedValue = qBound(minValue, myValue, maxValue); // boundedValue == 6
Appelle le gestionnaire de messages avec le message critique msg. Si aucun gestionnaire de messages n'est d�fini, le message est affich� sur stderr. Sous Windows, le message est envoy� au d�bogueur.
Cette fonction accepte une cha�ne de caract�res et une liste d'arguments, similaire � la fonction printf() du C. Le format doit �tre une cha�ne de caract�res Latin-1.
Exemple :
void load(const QString &fileName) { QFile file(fileName); if (!file.exists()) qCritical("File '%s' does not exist!", qPrintable(fileName)); }
Si vous incluez <QtDebug>, une syntaxe plus pratique est disponible:
qCritical() << "Brush:" << myQBrush << "Other value:" << i;
Un espace est ajout� entre les �l�ments et un saut de ligne est ajout� � la fin.
Pour supprimer les messages � l'ex�cution, installez votre propre gestionnaire de messages avec qInstallMsgHandler().
Voir aussi qDebug(), qWarning(), qFatal(), qInstallMsgHandler() et Techniques de d�bogage.
Appelle le gestionnaire de messages avec le message de d�bogage msg. Si aucun gestionnaire de messages n'est d�fini, le message est affich� sur stderr. Sous Windows, le message est envoy� � la console, si c'est une application console ; sinon, le message est envoy� au d�bogueur. Cette fonction ne fait rien si QT_NO_DEBUG_OUTPUT a �t� d�fini durant la compilation.
Cette fonction accepte une cha�ne de caract�res et une liste d'arguments, similaire � la fonction printf() du C. Le format doit �tre une cha�ne de caract�res Latin-1.
Exemple :
qDebug("Items in list: %d", myList.size());
Si vous incluez <QtDebug>, une syntaxe plus pratique est disponible:
qDebug() << "Brush:" << myQBrush << "Other value:" << i;
Avec cette syntaxe, la fonction retourne un objet QDebug qui est configur� pour utiliser le type de message QtDebugMsg. Elle ajoute automatiquement un espace entre chaque �l�ment et ajoute un saut de ligne � la fin. Elle accepte de nombreux types C++ et Qt.
Pour supprimer les messages � l'ex�cution, installez votre propre gestionnaire de messages avec qInstallMsgHandler().
Voir aussi qWarning(), qCritical(), qFatal(), qInstallMsgHandler() et Techniques de d�bogage.
Appelle le gestionnaire de messages avec le message fatal msg. Si aucun gestionnaire de messages n'a �t� d�fini, le message est affich� sur la sortie d'erreur. Sous Windows, le message est envoy� au d�bogueur.
Si vous utilisez le gestionnaire de messages par d�faut cette fonction, sur les syst�mes Unix, arr�tera le programme pour cr�er un fichier dump du programme. Sous Windows, pour les compilations en debug, cette fonction produira une _CRT_ERROR vous permettant de vous connecter un d�bogueur � l'application.
Cette fonction accepte une cha�ne de caract�res et une liste d'arguments, de fa�on similaire � la fonction printf() du C.
Exemple :
int divide(int a, int b) { if (b == 0) // erreur qFatal("divide: cannot divide by zero"); return a / b; }
Pour supprimer les messages durant l'ex�cution, installez votre propre gestionnaire de messages avec qInstallMsgHandler().
Voir aussi qDebug(), qCritical(), qWarning(), qInstallMsgHandler() et Techniques de d�bogage.
Compare les valeurs flottantes p1 et p2 et retourne true si elles sont consid�r�es comme �gales, sinon false.
Notez que si p1 ou p2 est 0.0, la comparaison ne fonctionnera pas. La solution est de comparer des valeurs plus grandes ou �gales � 1.0.
// Au lieu de comparer avec 0 qFuzzyCompare(0.0,1.0e-200); // Cela retournera faux // Compare en ajoutant 1 aux deux valeurs pour corriger le probl�me qFuzzyCompare(1 + 0.0, 1 + 1.0e-200); // Cela retournera vrai
Les deux nombres sont compar�s d'une fa�on relative, et plus les nombres sont petits, plus l'exactitude est forte.
Note : cette fonction est thread-safe.
Cette fonction a �t� introduite dans Qt 4.4.
Compare deux valeurs flottantes p1 et p2 et retourne true si elles sont consid�r�es �gales, sinon false.
Les deux nombres sont compar�s d'une fa�on relative, et plus les nombres sont petits, plus l'exactitude est forte.
Note : cette fonction est thread-safe.
Cette fonction a �t� introduite dans Qt 4.4.
Installe un gestionnaire de messages Qt qui a �t� d�fini pr�c�demment. Retourne un pointeur sur le gestionnaire de messages pr�c�dent (qui peut �tre 0).
Le gestionnaire de messages est une fonction qui affiche les messages de d�bogage, d'avertissement, et les messages pour les erreurs critiques et fatales. La biblioth�que Qt (en compilation de d�bogage) contient des centaines de messages d'avertissement qui sont affich�s lorsque des erreurs internes (souvent pour signaler des arguments invalides) sont envoy�es. Lorsque Qt est compil� en release, il contient aussi des messages d'avertissements sauf si QT_NO_WARNING_OUTPUT et/ou QT_NO_DEBUG_OUTPUT ont �t� d�finis � la compilation. Si vous impl�mentez votre propre gestionnaire de messages, vous pouvez contr�ler totalement ces messages.
Le gestionnaire de messages par d�faut affiche les messages sur la sortie standard pour X11 ou dans le d�bogueur pour Windows. Si les messages sont fatals, l'application s'arr�te imm�diatement.
Un seul gestionnaire de messages peut �tre d�fini, car cela est g�n�ralement fait pour contr�ler les messages de d�bogage pour toute l'application.
Pour restaurer le gestionnaire de messages, appelez qInstallMsgHandler(0).
Exemple :
#include <qapplication.h> #include <stdio.h> #include <stdlib.h> void myMessageOutput(QtMsgType type, const char *msg) { switch (type) { case QtDebugMsg: fprintf(stderr, "Debug: %s\n", msg); break; case QtWarningMsg: fprintf(stderr, "Warning : %s\n", msg); break; case QtCriticalMsg: fprintf(stderr, "Critical: %s\n", msg); break; case QtFatalMsg: fprintf(stderr, "Fatal: %s\n", msg); abort(); } } int main(int argc, char <nowiki>**</nowiki>argv) { qInstallMsgHandler(myMessageOutput); QApplication app(argc, argv); ... return app.exec(); }
Voir aussi qDebug(), qWarning(), qCritical(), qFatal(), QtMsgType et Techniques de d�bogage.
Utilisez QSysInfo::MacintoshVersion � la place.
Voir aussi QSysInfo.
Retourne le maximum entre value1 et value2.
Exemple :
int myValeur = 6; int yourValue = 4; int maxValue = qMax(myValue, yourValue); // maxValue == myValue
Voir aussi qMin() et qBound().
Retourne le minimum entre value1 et value2.
Exemple :
int myValeur = 6; int yourValue = 4; int minValeur = qMin(myValue, yourValue); // minValue == yourValue
Voir aussi qMax() et qBound().
Arrondit value � l'entier 64 bits le plus proche.
Exemple :
qreal valueA = 42949672960.3; qreal valueB = 42949672960.7; int roundedValueA = qRound(valueA); // roundedValueA = 42949672960 int roundedValueB = qRound(valueB); // roundedValueB = 42949672961
Arrondit value � l'entier le plus proche.
Exemple:
qreal valueA = 2.3; qreal valueB = 2.7; int roundedValueA = qRound(valueA); // roundedValueA = 2 int roundedValueB = qRound(valueB); // roundedValueB = 3
Retourne le num�ro de version de Qt � l'ex�cution dans une cha�ne de caract�res (par exemple, « 4.1.2 »). Il s'agit d'une version diff�rente de la version avec laquelle l'application a �t� compil�e.
Voir aussi QT_VERSION_STR.
Appelle le gestionnaire de messages avec le message d'avertissement msg. Si aucun gestionnaire de messages n'a �t� install�, le message est affich� sur la sortie d'erreur. Sous Windows, le message est envoy� au d�bogueur. Cette fonction ne fait rien si QT_NO_WARNING_OUTPUT a �t� d�fini durant la compilation ; la fonction termine le programme si la variable d'environnement QT_FATAL_WARNINGS est d�finie.
Cette fonction accepte une cha�ne de caract�res et une liste d'arguments, de fa�on similaire � la fonction printf() du C. Le format doit �tre une cha�ne de caract�res Latin-1.
Exemple:
void f(int c) { if (c > 200) qWarning("f: bad argument, c == %d", c); }
Si vous incluez <QtDebug>, une syntaxe plus commode est disponible :
qWarning() << "Brush:" << myQBrush << "Other value:" << i;
Un espace est ajout� entre les �l�ments et un saut de ligne est ajout� � la fin.
Pour supprimer la sortie pendant l'ex�cution, installez votre propre gestionnaire de messages avec qInstallMsgHandler().
Voir aussi qDebug(), qCritical(), qFatal(), qInstallMsgHandler() et Techniques de d�bogage.
Utilise Q_CHECK_PTR sur pointer, puis retourne pointer.
Cette fonction peut �tre utilis�e comme une version inline de Q_CHECK_PTR.
Retourne la valeur de la variable d'environnement varName. Pour la r�cup�rer sous forme de cha�ne de caract�res, utilisez QByteArray::constData().
Note : qgetenv() a �t� impl�ment� car la fonction getenv() de la biblioth�que du standard C a �t� d�pr�ci�e dans VC2005 (ainsi que dans les versions suivantes). qgetenv() utilise la fonction de remplacement dans VC et appelle la fonction du standard pour les autres plates-formes.
Voir aussi qputenv().
Cette fonction donne la valeur value � la variable d'environnement nomm�e varName. Si la variable n'existe pas, elle sera cr��e. La fonction retourne 0 si la variable ne peut �tre modifi�e.
Note : qputenv() a �t� introduit car la fonction putenv() de la biblioth�que standard du C a �t� d�pr�ci�e dans VC2005 (ainsi que dans les versions suivantes). qputenv() utilise la fonction de remplacement dans VS et appelle la fonction du standard pour les autres plates-formes.
Voir aussi qgetenv().
Version Thread-safe de la fonction rand() du standard C++.
Retourne une valeur comprise entre 0 et RAND_MAX (d�finie dans <cstdlib> et <stdlib.h>), le nombre suivant de la s�quence pseudoal�atoire de nombres entiers.
Utilisez qsrand() pour initialiser le g�n�rateur de nombres pseudoal�atoires avec une valeur source.
Cette fonction a �t� introduite dans Qt 4.2.
Voir aussi qsrand().
Version thread-safe de la fonction srand() du standard C++.
Utilise seed pour g�n�rer une nouvelle s�quence de nombres entiers pseudoal�atoires pouvant �tre retourn�s par qrand().
La s�quence de nombre al�atoires g�n�r�e est d�terministe par thread. Par exemple, si deux threads appellent qsrand(1) puis qrand(), les threads obtiendront la m�me s�quence de nombres al�atoires.
Cette fonction a �t� introduite dans Qt 4.2.
Voir aussi qrand().
La fonction qtTrId trouve et retourne une traduction de la cha�ne de caract�res.
Retourne la traduction d'une cha�ne de caract�res identifi�e par id. Si aucune cha�ne de caract�res correspondante n'est trouv�e, id est retourn�e. Cela ne devrait pas arriver dans des conditions normales.
Si n >= 0, toutes les occurrences de %n dans la cha�ne de caract�res r�sultante sont remplac�es par la repr�sentation d�cimale de n. De plus, selon la valeur de n, la traduction du texte peut varier.
Les m�tadonn�es et les commentaires peuvent �tre pass�s suivant la documentation de QObject::tr(). De plus, il est possible de fournir une cha�ne de caract�res template source comme suit :
//% <C string>
ou
/* % <C string> */
Exemple :
//% "%n bar(s) trouv�(s).\n" //% "Voulez-vous continuer ?" QString text = qtTrId("qtn_foo_bar", n);
Pour cr�er des fichiers QM compatible avec cet usage, vous devez passer l'argument -idbased � l'outil lrelease.
Attention : cette m�thode est r�entrante seulement si tous les traducteurs sont install�s avant l'appel � cette m�thode. L'installation ou la suppression des traducteurs n'est pas support� pendant la traduction. Le faire provoquera s�rement un crash ou un comportement ind�termin�.
Note : cette fonction est r�entrante.
Cette fonction a �t� introduite dans Qt 4.6.
Voir aussi QObject::tr(), QCoreApplication::translate() et Internationalization with Qt.
Active les mn�motechniques automatiques sur Mac si on est vrai ; sinon cette fonctionnalit� est d�sactiv�e.
Notez que cette fonction n'est disponible que sur Mac, o� les mn�motechniques sont d�sactiv�es par d�faut.
Pour acc�der � cette fonction, utilisez une d�claration externe : extern void qt_set_sequence_auto_mnemonic(bool b);
Voir aussi QShortcut.
Convertit une l'exception standard du C++ aThrow en un code d'erreur Symbian.
Attention : cette fonction n'est disponible que sur Symbian.
Voir aussi qt_symbian_throwIfError() et qt_symbian_exception2LeaveL().
Convertit une exception standard C++ aThrow en une exception Symbian.
Attention : cette fonction n'est disponible que pour Symbian.
Voir aussi qt_symbian_throwIfError() et qt_symbian_exception2Error().
Lance une exception si le param�tre error est un code d'erreur Symbian. C'est l'�quivalent utilisant une exception de Symbian: User::LeaveIfError.
Attention : cette fonction n'est disponible que pour Symbian.
Voir aussi qt_symbian_exception2LeaveL() et qt_symbian_exception2Error().
Donne la taille d'un pointeur en octets (4 ou 8). C'est �quivalent � sizeof(void *) mais peut �tre utilis� comme une directive de pr�processeur.
Cette macro peut �tre utilis�e pour s'assurer que l'application s'ex�cute avec une version suffisamment r�cente de Qt. C'est particuli�rement utile si votre application d�pend d'une correction de bogue (par exemple, 4.0.2).
Les param�tres argc et argv sont les param�tres argc et argv de la fonction main(). Le param�tre version est une cha�ne de caract�res qui indique la version de Qt dont l'application a besoin (par exemple, « 4.0.2 »).
Exemple:
#include <QApplication> #include <QMessageBox> int main(int argc, char *argv[]) { QT_REQUIRE_VERSION(argc, argv, "4.0.2") QApplication app(argc, argv); ... return app.exec(); }
Marque la cha�ne de caract�res sourceText pour la traduction dynamique dans le contexte context donn� et avec le commentaire comment, c'est-�-dire que le texte source sourceText stock� ne sera pas alt�r�. Le contexte context est normalement une classe et doit aussi �tre sp�cifi� comme une cha�ne de caract�res. La cha�ne de caract�res de commentaire comment sera disponible pour les traducteurs utilisant par exemple Qt Linguist.
La macro retourne une structure anonyme contenant les deux cha�nes de caract�res sourceText et comment.
Exemple:
static { const char *source; const char *comment; } greeting_strings[] = { QT_TRANSLATE_NOOP3("FriendlyConversation", "Hello", "A really friendly hello"), QT_TRANSLATE_NOOP3("FriendlyConversation", "Goodbye", "A really friendly goodbye") }; QString FriendlyConversation::greeting(int type) { return tr(greeting_strings[type].source, greeting_strings[type].comment); } QString global_greeting(int type) { return qApp->translate("FriendlyConversation", greeting_strings[type].source, greeting_strings[type].comment); }
Cette fonction a �t� introduite dans Qt 4.4.
Voir aussi QT_TR_NOOP(), QT_TRANSLATE_NOOP() et Internationalisation avec Qt.
Marque la cha�ne de caract�res sourceText pour la traduction dynamique, dans le contexte context donn� ; c'est-�-dire que le texte source sourceText ne sera pas alt�r�. Le contexte context est normalement une classe et doit aussi �tre sp�cifi� comme une cha�ne de caract�res.
La macro retourne sourceText.
Exemple:
static const char *greeting_strings[] = { QT_TRANSLATE_NOOP("FriendlyConversation", "Hello"), QT_TRANSLATE_NOOP("FriendlyConversation", "Goodbye") }; QString FriendlyConversation::greeting(int type) { return tr(greeting_strings[type]); } QString global_greeting(int type) { return qApp->translate("FriendlyConversation", greeting_strings[type]); }
Voir aussi QT_TR_NOOP(), QT_TRANSLATE_NOOP3() et Internationalisation avec Qt.
TRAP quitte la fonction Symbian function et lance une exception standard C++ appropri�e � la place. Cela doit �tre utilis� lors de l'appel aux fonctions sortantes du syst�me Symbian dans Qt ou du code C++ standard, afin que le code puisse r�pondre correctement � l'exception.
Attention : cette macro n'est disponible que sur Symbian.
Exemple:
// Une fonction sortante Symbian va �tre appel�e dans une fonction Qt. // Toute sortie doit �tre convertie en une exception CAknTitlePane* titlePane = S60->titlePane(); if (titlePane) { TPtrC captionPtr(qt_QString2TPtrC(caption)); QT_TRAP_THROWING(titlePane->SetTextL(captionPtr)); }
Voir aussi QT_TRYCATCH_ERROR() et QT_TRYCATCH_LEAVING().
La macro QT_TRID_NOOP marque un identifiant pour la traduction dynamique.
Le seul but de cette macro est de fournir une ancre pour l'attachement de m�tadonn�es comme la fonction qtTrId().
La macro retourne id.
Exemple:
static const char * const ids[] = { //% "This is the first text." QT_TRID_NOOP("qtn_1st_text"), //% "This is the second text." QT_TRID_NOOP("qtn_2nd_text"), 0 }; void TheClass::addLabels() { for (int i = 0; ids[i]; ++i) new QLabel(qtTrId(ids[i]), this); }
Cette fonction a �t� introduite dans Qt 4.6.
Voir aussi qtTrId() et Internationalization with Qt.
Attrape les exceptions C++ standard de la fonction function et les convertit en un code d'erreur error Symbian OS error ou KErrNone s'il n'y a pas d'exception. Cette macro doit �tre utilis�e dans Qt ou dans du code C++ standard lorsque le code peut lancer des exceptions (pratiquement tout code) et retourne un code d'erreur � Symbian OS.
Attention : cette macro n'est disponible que sous Symbian.
Exemple:
// Une exception peut �tre lanc�e dans cette fonction retournant un code d'erreur Symbian TInt. // Elle est attrap�e est traduite en un code d'erreur TInt QServerApp::Connect(const QString &serverName) { TPtrC name; TInt err; QT_TRYCATCH_ERROR(err, name.Set(qt_QString2TPtrC(serverName))); if (err != KErrNone) return err; return iServer.Connect(name); }
}
Voir aussi QT_TRYCATCH_LEAVING() et QT_TRAP_THROWING().
Attrape les exceptions standard C++ de la fonction function et les convertit en sorties de syst�me Symbian. Cette fonction doit �tre utilis�e dans du code Qt ou du code standard C++ lorsqu'il peut lancer des exceptions (pratiquement tout code) et retourne une fonction sortante Symbian. Par exemple, dans une impl�mentation avec du code Qt de la fonction RunL d'un objet actif Symbian.
Attention : cette macro n'est disponible que pour Symbian.
Exemple:
// Cet objet actif utilise du code Qt // Les exceptions venant du code Qt doivent �tre converties en sorties Symbian pour l'ordonnanceur actif void QWakeUpActiveObject::RunL() { iStatus = KRequestPending; SetActive(); QT_TRYCATCH_LEAVING(m_dispatcher->wakeUpWasCalled()); }
Voir aussi QT_TRAP_THROWING() et QT_TRYCATCH_ERROR().
Marque la cha�ne de caract�res sourceText pour la traduction dynamique dans le contexte courant (classe), c'est-�-dire que le texte source sourceText stock� ne sera pas alt�r�.
Cette macro donne sourceText.
Exemple :
QString FriendlyConversation::greeting(int type) { static const char *greeting_strings[] = { QT_TR_NOOP("Hello"), QT_TR_NOOP("Goodbye") }; return tr(greeting_strings[type]); }
La macro QT_TR_NOOP_UTF8() est identique � part qu'elle indique � lupdate que la cha�ne de caract�res source est encod�e en UTF-8. Les variantes correspondantes existent dans la famille de macro QT_TRANSLATE_NOOP(). Notez que l'utilisation de ces macros n'est pas requise si CODECFORTR est d�j� d�fini � UTF-8 dans le fichier de projet qmake.
Voir aussi QT_TRANSLATE_NOOP() et Internationalization with Qt.
Cette macro donne une valeur num�rique de la forme 0xMMNNPP (MM = majeure, NN = mineure, PP = patch) qui sp�cifie le num�ro de version Qt. Par exemple, si vous compilez votre application avec Qt 4.1.2, la macro QT_VERSION sera 0x040102.
Vous pouvez utiliser QT_VERSION pour utiliser les derni�res fonctionnalit�s de Qt si elles sont disponibles.
Exemple :
#if QT_VERSION >= 0x040100 QIcon icon = style()->standardIcon(QStyle::SP_TrashIcon); #else QPixmap pixmap = style()->standardPixmap(QStyle::SP_TrashIcon); QIcon icon(pixmap); #endif
Voir aussi QT_VERSION_STR et qVersion().
Transforme les num�ros de versions en un entier, 0xMMNNPP (MM = majeure, NN = mineure, PP = patch). Celui-ci peut �tre compar� avec n'importe quel identifiant de version transform� de la m�me fa�on.
Voir aussi QT_VERSION.
Cette macro donne une cha�ne de caract�res qui sp�cifie le num�ro de version de Qt (par exemple, « 4.1.2 »). Cette version est la version avec laquelle l'application est compil�e.
Voir aussi qVersion() et QT_VERSION.
Affiche un message d?avertissement contenant le nom du fichier source et le num�ro de ligne si test est faux.
Q_ASSERT() est utile pour les tests de pr� et postconditions durant le d�veloppement. Elle ne fait rien si QT_NO_DEBUG a �t� d�finie durant la compilation.
Exemple:
// File: div.cpp #include <QtGlobal> int divide(int a, int b) { Q_ASSERT(b != 0); return a / b; }
Si b est z�ro, la ligne Q_ASSERT affichera le message suivant en utilisant la fonction qFatal() :
ASSERT: "b == 0" in file div.cpp, line 7
Voir aussi Q_ASSERT_X(), qFatal() et Techniques de d�bogage.
Affiche le message what avec la localisation where, le nom de fichier source et le num�ro de ligne si test est faux.
Q_ASSERT_X est utile pour les tests des pr� et postconditions durant le d�veloppement. Si QT_NO_DEBUG a �t� d�fini durant la compilation, Q_ASSERT_X ne fait rien.
Exemple:
// File: div.cpp #include <QtGlobal> int divide(int a, int b) { Q_ASSERT_X(b != 0, "divide", "division by zero"); return a / b; }
Si b est z�ro, la ligne Q_ASSERT_X affichera le message suivant en utilisant la fonction qFatal() :
ASSERT failure in divide: "division by zero", file div.cpp, line 7
Voir aussi Q_ASSERT(), qFatal() et Techniques de d�bogage.
Cette macro repr�sente une valeur que vous pouvez comparer avec la macro Q_BYTE_ORDER pour d�terminer le boutisme de votre syst�me. Dans un syst�me grand boutiste, l'octet significatif est stock� � l'adresse la plus basse. Les autres octets suivront dans l'ordre d�croissant d'importance.
#if Q_BYTE_ORDER == Q_BIG_ENDIAN ... #endif
Voir aussi Q_BYTE_ORDER et Q_LITTLE_ENDIAN.
Cette macro peut �tre utilis�e pour d�terminer l'ordre des octets que votre syst�me utilise pour le stockage des donn�es en m�moire, c'est-�-dire si votre syst�me est petit boutiste ou grand boutiste. Il est d�finit par Qt � la valeur d'une des macros Q_LITTLE_ENDIAN ou Q_BIG_ENDIAN. Normalement, vous n'avez pas besoin de vous soucier du boutisme sauf si, par exemple, vous avez besoin de savoir quel octet d'un entier ou d'un caract�re UTF-16 se trouve � l'adresse basse. Le boutisme est important pour le r�seau, o� les ordinateurs avec des valeurs de Q_BYTE_ORDER diff�rentes peuvent �changer des donn�es.
Utilisez cette macro comme dans l'exemple suivant.
#if Q_BYTE_ORDER == Q_BIG_ENDIAN ... #endif ou #if Q_BYTE_ORDER == Q_LITTLE_ENDIAN ... #endif
Voir aussi Q_BIG_ENDIAN et Q_LITTLE_ENDIAN.
Est d�finie si l'application est compil�e avec Borland/Turbo C++.
Est d�finie si l'application est compil�e avec Reliant C++.
Est d�finie si l'application est compil�e avec Comeau C++.
Est d�finie si l'application est compil�e avec DEC C++.
Est d�finie si l'application est compil�e avec Edison Design Group C++.
Est d�finie si l'application est compil�e avec Green Hills Optimizing C++ Compilers.
Est d�finie si l'application est compil�e avec GNU C++.
Est d�finie si l'application est compil�e avec MetaWare High C/C++.
Est d�finie si l'application est compil�e avec HP aC++.
Est d�finie si l'application est compil�e avec Intel C++ for Linux, Intel C++ for Windows.
Est d�finie si l'application est compil�e avec KAI C++.
Est d�finie si l'application est compil�e avec MIPSpro C++.
Est d�finie si l'application est compil�e avec Microsoft Visual C/C++, Intel C++ for Windows.
Est d�finie si l'application est compil�e avec Metrowerks CodeWarrior.
Est d�finie si l'application est compil�e avec CenterLine C++.
Est d�finie si l'application est compil�e avec Portland Group C++.
Est d�finie si l'application est compil�e avec Forte Developer or Sun Studio C++.
Est d�finie si l'application est compil�e avec Digital Mars C/C++ (used to be Symantec C++).
Est d�finie si l'application est compil�e avec SCO OUDK and UDK.
Est d�finie si l'application est compil�e avec Watcom C++.
Si le pointeur pointer est 0, affiche un message d?avertissement contenant le nom du fichier source et le num�ro de ligne, disant que le programme n'a plus de m�moire.
Q_CHECK_PTR ne fait rien si QT_NO_DEBUG a �t� d�finie durant la compilation.
Exemple :
int *a; Q_CHECK_PTR(a = new int[80]); // FAUX! a = new (nothrow) int[80]; // Correct Q_CHECK_PTR(a);
Voir aussi qWarning() et Techniques de d�bogage.
Vous pouvez utiliser cette macro pour sp�cifier des informations � propos d'un type Type personnalis�. Avec des informations de type pr�cises, les conteneurs g�n�riques de Qt peuvent choisir les algorithmes et m�thodes de stockage appropri�s.
L'indicateur Flags peut �tre l'un des suivants :
Exemple d'un type « primitive » :
struct Point2D { int x; int y; }; Q_DECLARE_TYPEINFO(Point2D, Q_PRIMITIVE_TYPE);
Exemple d'un type d�pla�able :
class Point2D { public: Point2D() { data = new int[2]; } Point2D(const Point2D &other) { ... } ~Point2D() { delete[] data; } Point2D &operator=(const Point2D &other) { ... } int x() const { return data[0]; } int y() const { return data[1]; } private: int *data; }; Q_DECLARE_TYPEINFO(Point2D, Q_MOVABLE_TYPE);
Cette macro marque un symbole pour l'exportation dans une biblioth�que partag�e (voir Cr�ation de biblioth�ques partag�es).
Voir aussi Q_DECL_IMPORT.
Cette macro marque un symbole comme �tant import� � partir d'une biblioth�que partag�e (voir Cr�ation de biblioth�ques partag�es).
Voir aussi Q_DECL_EXPORT.
Identique � foreach(variable, container).
Cette macro est disponible m�me si no_keywords est sp�cifi� dans la variable CONFIG du fichier .pro.
Voir aussi foreach().
Identique � forever.
Cette macro est disponible m�me si no_keywords est sp�cifi� dans la variable CONFIG du fichier .pro.
Voir aussi foreach().
Fournit une cha�ne de caract�res qui d�crit la fonction dans laquelle la macro se trouve. Le contenu exact de cette cha�ne d�pend du compilateur. Avec GNU GCC, c'est g�n�ralement la signature de la fonction, alors qu'avec d'autres compilateurs cela peut �tre le num�ro de ligne et de colonne.
Il peut �tre commode d'utiliser qDebug() avec Q_FUNC_INFO. Par exemple, cette fonction :
template<typename TInputType> const TInputType &myMin(const TInputType &value1, const TInputType &value2) { qDebug() << Q_FUNC_INFO << "was called with value1:" << value1 << "value2:" << value2; if(value1 < value2) return value1; else return value2; }
au moment de l'instanciation avec un type entier, elle produira avec le compilateur GCC :
const TInputType& myMin(const TInputType&, const TInputType&) [with TInputType = int] was called with value1: 3 value2: 4
Si cette macro est utilis�e en dehors d'une fonction, le comportement est non d�fini.
Encapsule l'entier literal 64 bit sign� d'une mani�re ind�pendante de la plate-forme.
Exemple :
qint64 value = Q_INT64_C(932838457459459);
Voir aussi qint64 et Q_UINT64_C().
Cette macro repr�sente une valeur que vous pouvez comparer avec la macro Q_BYTE_ORDER pour d�terminer le boutisme de votre syst�me. Dans un syst�me petit boutiste, l'octet de poids faible est stock� � l'adresse de poids faible. Les autres octets suivent dans l'ordre de poids croissant.
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN ... #endif
Voir aussi Q_BYTE_ORDER et Q_BIG_ENDIAN.
D�finie sur AIX.
D�finie sur n'importe quel syst�me BSD 4.4.
D�finie sur BSD/OS.
D�finie sur Cygwin.
D�finie sur Darwin OS (synonyme de Q_OS_MAC).
D�finie sur DG/UX.
D�finie sur DYNIX/ptx.
D�finie sur FreeBSD.
D�finie sur HP-UX.
D�finie sur GNU Hurd.
D�finie sur SGI Irix.
D�finie sur Linux.
D�finie sur LynxOS.
D�finie sur MAC OS (synonyme de Darwin).
D�finie sur MS-DOS et Windows.
D�finie sur NetBSD.
D�finie sur OS/2.
D�finie sur OpenBSD.
D�finie sur XFree86 sur OS/2 (et non PM).
D�finie sur HP Tru64 UNIX.
D�finie sur QNX Neutrino.
D�finie sur Reliant UNIX.
D�finie sur SCO OpenServer 5.
D�finie sur Sun Solaris.
D�finie sur Symbian.
D�finie sur DEC Ultrix.
D�finie sur tout syst�me UNIX BSD/SYSV.
D�finie sur UnixWare 7, Open UNIX 8.
D�finie pour toutes les versions support�es de Windows.
D�finie sur Windows CE.
Encapsule l'entier 64 bits non sign� literal d'une fa�on ind�pendante de la plate-forme.
Exemple :
quint64 value = Q_UINT64_C(932838457459459);
Voir aussi quint64 et Q_INT64_C().
Indique au compilateur que le param�tre sp�cifi� par name n'est pas utilis� dans le corps de cette fonction. Cela est utile pour supprimer les avertissements du compilateur tout en permettant aux fonctions d'�tre d�finies avec des noms de param�tres explicites dans leurs signatures.
D�finie sur S60 avec le framework Avkon UI.
Voir aussi Q_WS_MAC, Q_WS_WIN, Q_WS_X11 et Q_WS_QWS.
D�finie sur X11.
Voir aussi Q_WS_MAC, Q_WS_WIN, Q_WS_QWS et Q_WS_S60.
D�finie sur Mac OS X.
Voir aussi Q_WS_WIN, Q_WS_X11, Q_WS_QWS et Q_WS_S60.
D�finie sur Qt pour Linux embarqu�.
Voir aussi Q_WS_MAC, Q_WS_WIN, Q_WS_X11 et Q_WS_S60.
D�finie sur Windows.
Voir aussi Q_WS_MAC, Q_WS_X11, Q_WS_QWS et Q_WS_S60.
Cette macro est utilis�e pour impl�menter la boucle foreach de Qt. Le param�tre variable est un nom de variable ou une d�finition de variable ; le param�tre container est un conteneur Qt contenant des variables du m�me type que variable. Voir The foreach Keyword pour plus de d�tails.
Si vous vous souciez de la pollution de l'espace de noms, vous pouvez d�sactiver cette macro en ajoutant la ligne suivante dans votre fichier .pro :
CONFIG += no_keywords
Voir aussi Q_FOREACH().
Cette macro est fournie par commodit� pour l'�criture de boucles infinies.
Exemple :
forever { ... }
C'est l'�quivalent de for (;;).
Si vous vous souciez de la pollution de l'espace de noms, vous pouvez d�sactiver cette macro en ajoutant la ligne suivante dans votre fichier .pro :
CONFIG += no_keywords
Voir aussi Q_FOREVER.
Retourne str tel un const char *. C'est l'�quivalent de str.toLocal8Bit().constData().
Le pointeur sur char sera invalide apr�s la ligne o� qPrintable() est utilis�e. Ceci d� au fait que le tableau retourn� par toLocal8Bit() sortira de la port�e.
Exemple :
qWarning("%s: %s", qPrintable(key), qPrintable(value));
Voir aussi qDebug(), qWarning(), qCritical() et qFatal().
Merci � Alexandre Laurent pour la traduction, ainsi qu'� Ilya Diallo et Claude Leloup pour la relecture !
Cette page est une traduction d'une page de la documentation de Qt, �crite par Nokia Corporation and/or its subsidiary(-ies). Les �ventuels probl�mes r�sultant d'une mauvaise traduction ne sont pas imputables � Nokia. | Qt 4.7 | |
Copyright © 2025 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'� 3 ans de prison et jusqu'� 300 000 E de dommages et int�r�ts. Cette page est d�pos�e � la SACD. | ||
Vous avez d�nich� une erreur ? Un bug ? Une redirection cass�e ? Ou tout autre probl�me, quel qu'il soit ? Ou bien vous d�sirez participer � ce projet de traduction ? N'h�sitez pas � nous contacter ou par MP ! |