我正在进行以下代码的实验,以巩固我所拥有的一些想法。然而,它无法运行,因为画布似乎直到代码结束时才具有任何尺寸,这时已经太晚了,无法采取任何措施。如何确定画布的尺寸以便在' divw = int(screen_width / 100)'这行中使用?
#!/usr/bin/python3
from tkinter import *
window = Tk()
window.title('Timetable')
window.attributes('-zoomed', True)
screen_width = window.winfo_width()
screen_height = window.winfo_height()
canvas = Canvas(window, width = window.winfo_screenwidth(), height = window.winfo_screenheight(), bg='steelblue')
canvas.pack()
image = PhotoImage(file='blank.png')
screen_width = window.winfo_width()
screen_height = window.winfo_height()
divw = int(screen_width / 100)
print (divw)
for i in range(0, divw):
print (i)
canvas.create_image(i * 100+50, 50, anchor = NW, image=image)
mainloop()
window.update()
,这是一个小部件方法,而不是全局 tkinter 函数。此外,您不必强制更新整个 GUI,只需执行window.update_idletasks()
即可。 - j_4321