希望通过循环将图像的缩略图加载到可滚动区域。因此,我创建了一个包含图像的画布。单击其中一幅图像,会在另一帧中显示较大的图像。所以我需要把文件路径,例如,传递到事件函数。在
这里有一个可滚动区域和一些矩形的例子,这些矩形代表我在这个区域之外的图像。点击Rectangles给我图像信息。但是一旦我把所有的矩形插入可滚动区域,这些矩形在滚动过程中就不会移动。在
我需要改变什么?在
import Tkinter as tk
from ttk import *
def OnClick(event, obj):
print "you clicked on", obj
for path, objectname in filedict.items():
if objectname == obj:
print path
root = tk.Tk()
canv = tk.Canvas(root, width=200, height=200, bg='green')
sbarV = Scrollbar(root, orient="vertical")
sbarV.config(command=canv.yview)
sbarV.pack(side="right", fill="y")
canv.config(yscrollcommand=sbarV.set)
canv.pack(side="right", fill="y")
canv.pack_propagate(0)
canv.create_text(7,7,width=185, anchor="nw", font=("Arial", 7), text='example')
filedict = {}
for i in range(10):
filedict[str(i) + '.jpg'] = tk.Canvas(root, width=50, height=30, bg='red')
filedict[str(i) + '.jpg'].pack()
filedict[str(i) + '.jpg'].create_rectangle(0,0,20,20, fill="black", tags=str(i))
filedict[str(i) + '.jpg'].bind("<1>", lambda event, obj=filedict[str(i) + '.jpg']: OnClick(event, obj))
canv.config(scrollregion=(0,0,300,1000))
root.mainloop()
我找到了如何将画布插入滚动区域的解决方案。现在需要一个窗口循环如下所示:
相关问题 更多 >
编程相关推荐