Oui d'accord, je me suis très mal exprimé, avec un vocabulaire de chiotte, mais je pense tu m'as très bien compris.
Ceci dit, lorsque tu dis,Deux possibilités:Si le problème est comment faire pour que la Canvas occupe les nouvelles dimensions de la fenêtre, alors c'est le gestionnaire de positionnement qu'il faut utiliser:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 import tkinter as tk root = tk.Tk() ## def callback(evt): ## print(evt.width) ## can['width']=evt.width can = tk.Canvas(root,bg="black") can.grid() can.grid(sticky='nwse', column=0, row=0) can.create_text(200,200, text="YOP", font=("helvetica",40), fill="red") ## root.bind("<Configure>", callback) root.mainloop()
Soit tu t'es mal exprimé, soit tes propos sont erronés(du moins le code ne correspond pas ton propos)
édit: tournure de phrase![]()
Et bim !
(Voir pour conversion avec un autre OS que Windows...)
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 import win32gui import tkinter as tk root = tk.Tk() def callback(evt): if win32gui.GetCursorInfo()[1] == 65553: can['width']=evt.width can = tk.Canvas(root,bg="black") can.grid() can.create_text(200,200, text="YOP", font=("helvetica",40), fill="red") root.bind("<Configure>", callback) root.mainloop()
Dernière modification par Invité ; 17/01/2022 à 14h25.
Chez moi le code posté fonctionne: si on change les dimensions de la fenêtre, celles du Canvas qu'il contient suivent (et occupent toute la place).
Et çà montre que le gestionnaire de géométrie sait faire (pas besoin d'ajuster les dimensions du Canvas en attrapant les évènements configure).
Pour le reste, on ne doit pas fumer la même moquette...
- W
Je ne crois que ce que je vois!... et je peux t'assurer que sur mon pc (ubuntu 20.04) , si l'on on change les dimensions de la fenêtre, le canvas reste figé à la même dimention.
Pour ce qui de la moquette, je n'en fume plus depuis longtemps. Avec l'age, je lui préfère le Cognac ^^.
C'est quand même fort de café que sur un code aussi basique, tkinter ne soit pas multiplateforme
ps: même comportement sur la debian que j'ai sur ma VM
heuje viens d'essayer :
sous windows 10 Python 3.9.0 pas de redimensionnement du canevas, même chose sous Ubuntu 20.04 (GTK) python 3.8
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 can.grid() can.grid(sticky='nwse', column=0, row=0)
par contre :
fonctionne sous les deux O.S.
Code : Sélectionner tout - Visualiser dans une fenêtre à part can.pack(fill="both", expand=True)
Oops, je n'ai pas posté le code que je teste chez moi...
Il manque les 2 lignes qui disent donne la place supplémentaire à:
oui c'est un problème de moquette
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 import tkinter as tk root = tk.Tk() root.grid_rowconfigure(0, weight=1) root.grid_columnconfigure(0, weight=1) can = tk.Canvas(root,bg="black") can.grid(sticky='nwse', column=0, row=0) can.create_text(200,200, text="YOP", font=("helvetica",40), fill="red") root.mainloop()![]()
Ben voilà, tout s'explique
@LeNarvalo: Juste par curiosité pour ta solution (que je ne peux pas tester et qui a un intérêt limité vu qu’elle dépend de la plateforme ) à quoi correspond 65553?
Merci Beaucoup pour toutes vos réponses
Je passe le sujet en résolu![]()
@Hominidé
Je voulais rester sur mon idée de binder à la fois ButtonRelease-1 et Configure, mais je n'ai pas trouvé la solution pour binder ButtonRelease-1 en dehors du root...
Bref, du coup autant détecter si le curseur est bien la double flèche horizontal avec win32gui.
(Moi et mes solutions abracadabrantesques)
Ah je ne savais pas non plus mais j'avais remarqué que son site avait disparu... Du coup je me demande si il avait supprimé définitivement son site avant sa mort ou bien si il avait supprimé temporairement pour le mettre à jour... Dans le premier cas cela voudrait dire qu'il ne voulait plus qu'on utilise son site ? Si oui on peut se demander si le site archivé est ok question copyright (s'il respecte sa volonté ?) ???
J'aimais bien son site c'est dommage... Je vais essayé de me renseigner pour savoir si on peut utiliser le site archivé... Mais si quelqu'un a des infos je suis preneur...
PS : c'est la deuxième fois à ma connaissance qu'un auteur sur tkinter meurt...
Son site dit : "effbot.org is taking a break. We’ll be back, in some form or another."
Mais ça fait peut-être plus d'un an que c'est comme ça...
Apparemment le type était très engagé sur un forum afin d'aider les noobs comme moi, un peu comme notre Wiztiti mais peut-être plus pédagogue tout de même... (Un petit taquet gratuit au passage ça fait toujours plaisir.)
Donc je serais surpris qu'il se soit dit "Fuck All ! Si je crève vous aurez pu accès à mon site !"
Partager