bord arrondi avec tkinter

Bonjour,

j’essaie d’utiliser des layout avec bord arrondi dans tkinter mais j’obtiens un soucis lors de la mise au propre du code.

J’ai une version du code qui est écrite de façon simple pour ne pas dire yolo qui elle marche.
ok.py (3,1 Ko)
résultat
ok

Si je met au propre ce même code en séparant dans des fonctions celui ci ne marche plus
ko.py (3,3 Ko)
résultat
ko

Avez vous une idée d’où pourrait être l’erreur svp?

Merci

Salut,

Il semble que l’image utilisée n’est pas bien retrouvée. Si tu la crées hors de ta fonction, c’est ok.
Je suppose donc (je bosse donc pas trop le temps de chercher non plus) que l’image fournie à element_create n’est pas copiée ou quelque chose comme ça.
ko.py (3,3 Ko)

Je me réponds à moi-même, a priori l’image est détruite par le garbage collector à la sortie de ta méthode d’initialisation du style, même si elle est toujours référencée. Donc plus tard, tu n’affiches rien de correct.

Idéalement, je conserverai les ressources de l’application quelque part (un gestionnaire de ressources pitet ?).

1 « J'aime »

J’étais entrain de répondre exactement la même chose après quelques tests si je met une variable global qui garde un pointeur sur cette variable ça marche.
Mais je suis surpris que le garbage collector ne voit pas qu’une autre structure est censé pointer dessus.
A moins que ça soit fait par un lien non direct mais la j’ai pas regardé assez loin.

En tout cas merci beaucoup pour cette piste car je n’y avais pas du tout pensé.

Je clos le sujet.
Merci