Bonjour à tous,
est-il possible d'effectuer des calculs simple avec GTK.
Par exemple :
TAPEZ VOTRE 1er NOMBRE :
TAPEZ VOTRE 2ème NOMBRE :
VOILA L'ADDITION DE VOTRE SAISIE :
merci
Bonjour à tous,
est-il possible d'effectuer des calculs simple avec GTK.
Par exemple :
TAPEZ VOTRE 1er NOMBRE :
TAPEZ VOTRE 2ème NOMBRE :
VOILA L'ADDITION DE VOTRE SAISIE :
merci
Bin disons que c'est possible en C tout simplement.Envoyé par LE CORRE
GTK+ permet avant tout l'affichage graphiques de contrôles utilisateurs, ce que tu veux faire doit être fait sur la console ou en mode graphique ?
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Le programme se fait en mode graphique.
Je pensais à cette procédure :
Saisie des nombres par l'utilisateur en interface GTK (GTKEntry)
Calcul par le langage C
Affichage du résultat en interface GTK
Oui biensur, tu peux même le faire en une seule fenêtre, il te suffit simplement d'avoir:Envoyé par LE CORRE
- 3 GtkEntry
- 1 GtkButton
Je ne vois pas vraiment où se situe ton problème, dans les 2 premiers GtkEntry tu entres des valeurs à calculer, le GtkButton te permet de faire le calcul et le 3ème GtkEntry affiche le resultat !
Tu peux facilement convertir les chaînes contenues dans les 2 premiers GtkEntry avec la fonction standard strtol par exemple pour des entiers.
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Salut,
Dans le programme je butes sur la possibilité
1°)de valider l'enregistrement dans le GTKEntry par la touche entrée du clavier (plutot que d'avoir un bouton VALIDEZ à chaque enregistgrement)
2°) de passer d'un champs de saisie à un autre.
Sais tu comment faire?
Salut,
suite à une vérification du code, j'ai modifié la ligne :
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part sprintf (buff, "%lf\n", op->resultat);
et là j'obtiens le nombre avec 2 chiffres après la virgule dans le GTKEntry comme souhaité, sauf qu'il ne prend toujours pas en compte les décimaux pour le calcul ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part sprintf (buff, "%.3f", op->resultat);
Salut,
avec les collègues du Forum C, on a modifier le code en remplaçant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 op->op1 = strtod (gtk_entry_get_text (GTK_ENTRY (p_entry[0])), NULL); op->op2 = strtod (gtk_entry_get_text (GTK_ENTRY (p_entry[1])), NULL); op->resultat = op->op1 + op->op2; sprintf (buff, "%lf\n", op->resultat); buff [strlen (buff) - 1] = '\0'; gtk_entry_set_text (GTK_ENTRY (p_entry[2]), buff);
PAR
maintenant les décimales sont prises en compte pour le calcul avec quand même l'inconvéniant de devoir saisir les nombres avec la virgule comme séparateur décimale. Quelqu'un connait-il la technique pour pouvoir saisir le nombre avec le point comme séparateur,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 op->op1 = strtod (gtk_entry_get_text (GTK_ENTRY (p_entry[0])), NULL); op->op2 = strtod (gtk_entry_get_text (GTK_ENTRY (p_entry[1])), NULL); op->resultat = op->op1 + op->op2; sscanf (gtk_entry_get_text (GTK_ENTRY (p_entry[0])), "%.3f", &op->op1); sscanf (gtk_entry_get_text (GTK_ENTRY (p_entry[1])), "%.3f", &op->op2); sprintf (buff, "%.3f", op->resultat); buff [strlen (buff) - 1] = '\0'; gtk_entry_set_text (GTK_ENTRY (p_entry[2]), buff);
D'avance merci
A ce qu'il me semble, ceci est directement lié à la localisation de ton système donc à la langue utilisée donc apparement ... rien à faire.Envoyé par LE CORRE
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Salut,
Ah flûte, et il n'y a pas moyen de de changer la virgule en point, On m'a parlé de la GLib. Est ce que tu connais ?
Oui je connais la GLib mais je ne vois pas ce qu'elle apporterais de plus dans ce domaine. En générale tout est basé sur la localisation du système.Envoyé par LE CORRE
Mon Site
Ma bibliothèque de gestion des chaînes de caractères en C
L'imagination est plus importante que le savoir. A. Einstein
Je ne répond à aucune question technique par MP, merci d'avance !
Partager