FAQ GTK+Consultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 101, dernière mise à jour : 22 février 2018 Ajouter une question
Cette faq a été réalisée à partir des questions fréquemment posées sur les forums de www.developpez.com et de l'expérience personnelle des auteurs.
Je tiens à souligner que cette faq ne garantit en aucun cas que les informations qu'elle propose sont correctes ; les auteurs font le maximum, mais l'erreur est humaine. Cette faq ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, lisez ceci.
Sur ce, nous vous souhaitons une bonne lecture, L'équipe GTK+.
Pour informer l'utilisateur du bon ou du mauvais déroulement de votre programme, la glib propose trois fonctions selon le type d'information à afficher :
- g_message : pour les messages normaux ;
- g_warning : pour les messages d'avertissement ;
- g_critical : pour les erreurs critiques ;
- g_error : à utiliser en cas de détection d'un bug dans votre programme, cette fonction met fin au programme et génère un core dump ;
- g_debug : pour afficher des informations de débogage.
Par défaut les fonctions d'affichage des messages d'erreur (g_message, g_warning, ...) affichent un message sur la sortie standard adéquate (stdout ou stderr), mais il est possible de lui demander d'utiliser nos propres fonctions (pour afficher une boîte de dialogue, par exemple) grâce à la fonction :
Code C : | Sélectionner tout |
1 2 3 4 | guint g_log_set_handler (const gchar *log_domain, GLogLevelFlags log_levels, GLogFunc log_func, gpointer user_data); |
Vous souhaitez vérifier la validité des paramètres passés à une fonction, plutôt que d'utiliser une suite de if imbriqués, vous pouvez utiliser la macro :
Code C : | Sélectionner tout |
#define g_return_if_fail(expr)
Code C : | Sélectionner tout |
#define g_return_val_if_fail(expr,val)
Les fonctions, surtout celles de GLIB, prennent souvent en paramètre un pointeur de pointeur sur un objet de type GError. Il faut donc déclarer un pointeur sur un objet de ce type ce qui permettra d'en passer l'adresse aux fonctions (d'où l'utilité d'un pointeur de pointeur et non un simple pointeur) :
Code C : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 | GError * p_err = NULL; GIOChannel * p_file = NULL; p_file = g_io_channel_new_file ("fichier.txt", "r", & p_err); if (p_file == NULL) { /* Affichage du message d'erreur standard : */ g_printf ("%s\n", p_err->message); g_error_free (p_err); } |
Proposer une nouvelle réponse sur la FAQ
Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour çaLes 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 © 2024 Developpez 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.