在Tkinter画布上使用Python的.jpg图像的滚动条 [英] Scrollbars for a .jpg image on a Tkinter Canvas in Python

查看:317
本文介绍了在Tkinter画布上使用Python的.jpg图像的滚动条的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使画布上的jpeg可滚动,但是我似乎无法使滚动条正常工作.这是一些示例代码:

I'm trying to make a jpeg on a canvas scrollable but I can't seem to get my scrollbars to work. Here's some example code:

from Tkinter import *
import Image, ImageTk

root = Tk()

frame = Frame(root, bd=2, relief=SUNKEN)

frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)

xscrollbar = Scrollbar(frame, orient=HORIZONTAL)
xscrollbar.grid(row=1, column=0, sticky=E+W)

yscrollbar = Scrollbar(frame)
yscrollbar.grid(row=0, column=1, sticky=N+S)

canvas = Canvas(frame, bd=0, xscrollcommand=xscrollbar.set, yscrollcommand=yscrollbar.set)
canvas.grid(row=0, column=0, sticky=N+S+E+W)

File = "jpg filepath here"
img = ImageTk.PhotoImage(Image.open(File))
canvas.create_image(0,0,image=img, anchor="nw")

xscrollbar.config(command=canvas.xview)
yscrollbar.config(command=canvas.yview)

frame.pack()
root.mainloop()

推荐答案

您需要告诉画布可滚动绘图空间的哪一部分.使用类似的东西:

You need to tell the canvas what part of the drawing space to scroll. Use something like:

canvas.config(scrollregion=canvas.bbox(ALL))

可在此处找到更多信息: http://effbot.org/tkinterbook/canvas .htm#coordinate-systems

More information can be found here: http://effbot.org/tkinterbook/canvas.htm#coordinate-systems

这篇关于在Tkinter画布上使用Python的.jpg图像的滚动条的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆