Eka*_*eva 0 python tkinter python-3.x
我创建了一个画布,然后创建了一个框架作为画布的子项。我发现,我不应该使用pack()将框架放在画布中。我用了
my_canvas.create_window(0,0,window=my_frame, anchor='nw')
Run Code Online (Sandbox Code Playgroud)
但我希望我的框架可以通过我的应用程序调整大小。因此,我想,我需要fill=BOTH, expand=YES为我的框架添加类似的东西。
您可以设置画布窗口的高度和宽度以匹配画布的宽度和高度。您希望每次画布改变形状时都执行此操作,这可以通过在<Configure>事件上使用绑定来完成:
import tkinter as tk
def onCanvasConfigure(e):
canvas.itemconfig('frame', height=canvas.winfo_height(), width=canvas.winfo_width())
root=tk.Tk()
canvas = tk.Canvas(root, background="blue")
frame = tk.Frame(canvas, background="red")
canvas.pack(expand=True, fill="both")
canvas.create_window((0,0), window=frame, anchor="nw", tags="frame")
canvas.bind("<Configure>", onCanvasConfigure)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1993 次 |
| 最近记录: |