Bonsoir,
Je vous demande de l'aide car je ne comprends pas quelque chose et d'habitude j'arrive à m'en sortir mais là non.
Je m'explique :
Dans mon programme GTK je fais une table de 36 cases (6x6).
Chaque case possède des éléments que j'ai mis dans une structure (donc ici j'ai fait un pointeur sur 36 structures), par exemple des boutons, des images.
A chaque case j'ai assigné un bouton et une image.
Dans un premier temps, j'ai pu faire une boucle for de cette forme (36 fois) :
cases[i].image1 = gtk_image_new_from_file("./inter4.png");
Là c'est bon j'ai la même image dans toutes les cases.
Mais voilà le problème : en fait dans la table je dois faire apparaître 8 images différentes de façon aléatoire.
Pour cela j'ai décidé de stocker les 8 images dans un tableau de widget : stockim[8]. Puis j'ai mis chaque image dans stockim[0] etc...
de cette manière, je peux faire un rand : stockim[r] avec r aléatoire et l'assigner à l'image dans une boucle : cases[i].image1 = stockim[r];
Mais à l'execution, il ne m'affiche une image que dans 8 cases, n'importe lesquelles et les images sont bien affichées aléatoirement. Et c'est aléatoire à chaque execution. Dans la console il y a : gtk-critical gtk_table_attach: assertion 'child->parent == NULL' failed.
Alors j'ai essayé de simplifier et de faire des tests et je remarque que dès que je stock l'image dans un widget "intermédiaire", et bien ça fait toutes ces joyeusetés.
ça fait environ 3 semaine que j'ai commencé GTK, alors bien sur il y a plein de méthode ou de fonctions qui m'échappent.
ça m'aiderait beaucoup si l'un de vous pouvait me donner quelques pistes,
Merci !
Partager