【发布时间】:2017-12-18 02:59:30
【问题描述】:
我有一个关于 L 系统的项目。我试图添加一个打印 L 系统的海龟;但是,与文本字段不同,画布不会扩展。当我打印更多文本时,我的文本字段通过滚动条扩展得很好。但是,乌龟卡在画布上。我真的被困住了。
frame2 = tki.Frame(frame, bg='yellow', width=810, height=510)
frame2.pack()
frame2.place(x=500,y=5)
cv = Canvas(frame2, width=2000, height=2000)
cv.place(x=0, y=0)
screen = turtle.TurtleScreen(cv)
t = turtle.RawTurtle(screen)
hbar=Scrollbar(frame2,orient=HORIZONTAL)
hbar.pack(side=BOTTOM,fill=X)
hbar.config(command=cv.xview)
vbar=Scrollbar(frame2,orient=VERTICAL)
vbar.pack(side=RIGHT,fill=Y)
vbar.config(command=cv.yview)
cv.config(width=800,height=500)
cv.config(xscrollcommand=hbar.set, yscrollcommand=vbar.set)
cv.pack(side=LEFT,expand=True,fill=BOTH)
【问题讨论】:
-
不要同时使用
pack()和place()——它们是两个不同的“布局管理器” -
创建最小的工作示例,以便我们运行它并查看您的问题。
-
canas 无法扩展,因为它没有此功能 - 您可能必须手动进行。
-
感谢您抽出宝贵时间,我会牢记这些。我有一个从框架扩展的分形结构,在使用海龟打印时,我无法看到完整的图片。 ScrolledCanvas 不能正常工作。
-
滚动画布仅在您使用滚动条或编写将滚动它的代码时滚动。当您使用海龟绘图时,您可以检查位置并滚动画布。
标签: python canvas tkinter scrollbar turtle-graphics