Si ceci est mon code:Canvas Python Tkinter remplirons fenêtre Tk() au départ ou lorsque redimensionnée, mais ne
from tkinter import *
class Program:
def __init__(self):
self.tk = Tk()
self.tk.attributes("-topmost", 1)
self.canvas = Canvas(self.tk, height=500, width=500, highlightthickness=0)
self.canvas.pack(fill="both", expand=1)
self.width = 500
self.height = 500
self.tk.bind("<Configure>", self.resize)
self.input = Entry(self.tk)
self.input.pack(fill="x", expand=1)
self.button = Button(self.tk, text="Start!", command=self.pressed)
self.button.pack(fill="x", expand=1)
self.pressed = 0
self.start = time()
def mainloop(self):
while 1:
self.canvas.delete("all")
self.canvas.create_rectangle(0, 0, self.width, self.height, fill="#4dffff", width=0)
self.tk.update()
def pressed(self):
self.pressed = 1
def resize(self, event):
self.width = event.width
self.height = event.height
Program().mainloop()
Si je le lance alors cette fenêtre ouvre:
Si je puis déplacer la fenêtre, il ressemble à ceci:
dès que je redimensionner (par exemple plein écran) Je reçois cette fenêtre:
Comment devrais-je modifier le code pour avoir le résultat cohérent où le canevas (je veux dire la partie colorée) couvre la partie non couverte de la fenêtre Tk()?
On dirait un double de [Comment redimensionner dynamiquement la toile] (https://stackoverflow.com/questions/22835289/how-to- get-tkinter-canvas-to-dynamiquement-resize-to-window-width). –
Copie possible de [Comment faire pour redimensionner dynamiquement la toile tkinter à la largeur de la fenêtre?] (Https://stackoverflow.com/questions/22835289/how-to-get-tkinter-canvas-to-dynamically-resize-to-window -width) –
pourquoi créez-vous votre propre 'mainloop'? –