滚动主窗口在同一区域包含标签和画布

问题描述 投票:0回答:1

我尝试实现一个带有滚动条的主窗口。该窗口在同一区域中包含标签和画布(与“create_line”连接)。 我需要使用 label.place 指令(不是网格),因为我想选择放置标签的确切位置。

我希望所有标签和线条在此窗口上同时滚动。

这就是我要做的事情:只有行在滚动,而不是标签。

import tkinter as tk

# Create master window
fenetre = tk.Tk()
fenetre.title("Fenêtre principale avec Canvas et Scrollbar")

# Create canvas
canevas = tk.Canvas(fenetre, width=800, height=600, bg="white")
canevas.pack(side=tk.LEFT, fill=tk.BOTH)
canevas.config(scrollregion =(0, 0, 5, 2000))

# Add scrollbar associated to Canvas
scrollbar = tk.Scrollbar(fenetre, command=canevas.yview)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
canevas.config(yscrollcommand=scrollbar.set)

# Draw a line on Canvas
canevas.create_line(50, 50, 200, 150, fill="blue")

# Créez Label 
etiquette = tk.Label(fenetre, text="Ceci est une étiquette")
etiquette.place(x=10, y=30)

# main loop
fenetre.mainloop()
python-3.x tkinter
1个回答
0
投票

mainloop()
之前添加此内容。

canevas.create_window(0, 0, window=etiquette, anchor='nw')
canevas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
© www.soinside.com 2019 - 2024. All rights reserved.