本文整理汇总了Python中Tkinter.Canvas.yview_scroll方法的典型用法代码示例。如果您正苦于以下问题:Python Canvas.yview_scroll方法的具体用法?Python Canvas.yview_scroll怎么用?Python Canvas.yview_scroll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tkinter.Canvas
的用法示例。
在下文中一共展示了Canvas.yview_scroll方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from Tkinter import Canvas [as 别名]
# 或者: from Tkinter.Canvas import yview_scroll [as 别名]
class ScrolledCanvas:
def __init__(self, master, **opts):
if not opts.has_key('yscrollincrement'):
opts['yscrollincrement'] = 20
self.master = master
self.frame = TFrame(master, style="FlatFrame")
self.frame.rowconfigure(0, weight=1)
self.frame.columnconfigure(0, weight=1)
self.canvas = Canvas(self.frame, **opts)
self.canvas.grid(row=0, column=0, sticky="nsew")
self.vbar = TScrollbar(self.frame, name="vbar")
self.vbar.grid(row=0, column=1, sticky="nse")
self.hbar = TScrollbar(self.frame, name="hbar", orient="horizontal")
self.hbar.grid(row=1, column=0, sticky="ews")
self.canvas['yscrollcommand'] = lambda f, l: self.scroll_sh(self.vbar, f, l)
self.vbar['command'] = self.canvas.yview
self.canvas['xscrollcommand'] = lambda f, l: self.scroll_sh(self.hbar, f, l)
self.hbar['command'] = self.canvas.xview
self.canvas.bind("<Key-Prior>", self.page_up)
self.canvas.bind("<Key-Next>", self.page_down)
self.canvas.bind("<Key-Up>", self.unit_up)
self.canvas.bind("<Key-Down>", self.unit_down)
self.canvas.bind("<Alt-Key-2>", self.zoom_height)
self.canvas.bind("<Button-4>", self.unit_up)
self.canvas.bind("<Button-5>", self.unit_down)
self.canvas.focus_set()
def page_up(self, event):
self.canvas.yview_scroll(-1, "page")
return "break"
def page_down(self, event):
self.canvas.yview_scroll(1, "page")
return "break"
def unit_up(self, event):
first,last=self.vbar.get()
if first <= 0 and last >= 1:
return "break"
self.canvas.yview_scroll(-1, "unit")
return "break"
def unit_down(self, event):
first,last=self.vbar.get()
if first <= 0 and last >= 1:
return "break"
self.canvas.yview_scroll(1, "unit")
return "break"
def zoom_height(self, event):
return "break"
def scroll_sh(self, scroll, first, last):
first, last = float(first), float(last)
if first <= 0 and last >= 1:
scroll.grid_remove()
else:
scroll.grid()
scroll.set(first, last)
示例2: __init__
# 需要导入模块: from Tkinter import Canvas [as 别名]
# 或者: from Tkinter.Canvas import yview_scroll [as 别名]
class ScrolledCanvas:
def __init__(self, master, **opts):
if 'yscrollincrement' not in opts:
opts['yscrollincrement'] = 17
self.master = master
self.frame = Frame(master)
self.frame.rowconfigure(0, weight=1)
self.frame.columnconfigure(0, weight=1)
self.canvas = Canvas(self.frame, **opts)
self.canvas.grid(row=0, column=0, sticky="nsew")
self.vbar = Scrollbar(self.frame, name="vbar")
self.vbar.grid(row=0, column=1, sticky="nse")
self.hbar = Scrollbar(self.frame, name="hbar", orient="horizontal")
self.hbar.grid(row=1, column=0, sticky="ews")
self.canvas['yscrollcommand'] = self.vbar.set
self.vbar['command'] = self.canvas.yview
self.canvas['xscrollcommand'] = self.hbar.set
self.hbar['command'] = self.canvas.xview
self.canvas.bind("<Key-Prior>", self.page_up)
self.canvas.bind("<Key-Next>", self.page_down)
self.canvas.bind("<Key-Up>", self.unit_up)
self.canvas.bind("<Key-Down>", self.unit_down)
#if isinstance(master, Toplevel) or isinstance(master, Tk):
self.canvas.bind("<Alt-Key-2>", self.zoom_height)
self.canvas.focus_set()
def page_up(self, event):
self.canvas.yview_scroll(-1, "page")
return "break"
def page_down(self, event):
self.canvas.yview_scroll(1, "page")
return "break"
def unit_up(self, event):
self.canvas.yview_scroll(-1, "unit")
return "break"
def unit_down(self, event):
self.canvas.yview_scroll(1, "unit")
return "break"
def zoom_height(self, event):
ZoomHeight.zoom_height(self.master)
return "break"
示例3: MixerFrame
# 需要导入模块: from Tkinter import Canvas [as 别名]
# 或者: from Tkinter.Canvas import yview_scroll [as 别名]
class MixerFrame(Frame):
def __init__(self, master, mixer):
Frame.__init__(self, master)
scrollbar_h = Scrollbar(self, orient='horizontal')
scrollbar_v = Scrollbar(self, orient='vertical')
self.canvas = Canvas(self,
background='gray',
scrollregion=(0, 0, (3 + len(mixer) * FADER_WIDTH), FADER_HEIGHT),
yscrollcommand=scrollbar_v.set,
xscrollcommand=scrollbar_h.set)
scrollbar_v.config(command=self.canvas.yview)
scrollbar_h.config(command=self.canvas.xview)
master.bind("<MouseWheel>",
lambda e: self.canvas.yview_scroll(-e.delta, 'units'))
master.bind("<Shift-MouseWheel>",
lambda e: self.canvas.xview_scroll(-e.delta, 'units'))
Sizegrip(self).grid(column=2, row=1, sticky='se')
self.canvas.grid(column=0, row=0, sticky='nwes')
scrollbar_h.grid(column=0, row=1, sticky='we')
scrollbar_v.grid(column=1, row=0, sticky='sn')
master_fader = AudioFader(self, mixer.getVolume, mixer.setVolume, "Master")
master_fader.grid(column=2, row=0, sticky='nwes')
self.grid_columnconfigure(0, weight=1)
self.grid_rowconfigure(0, weight=1)
for i, channel in enumerate(mixer):
if channel.device.id_variable is not None:
name = channel.device.id_variable
else:
name = channel.device.name_id
fader = AudioFader(self.canvas, channel.get_gain, channel.set_gain, name)
self.canvas.create_window(i * FADER_WIDTH, 0, anchor='nw', window=fader)