- PyGTK 教程
 - PyGTK - 主页
 - PyGTK - 简介
 - PyGTK - 环境
 - PyGTK - 你好世界
 - PyGTK - 重要类
 - PyGTK - 窗口类
 - PyGTK - 按钮类
 - PyGTK - 标签类
 - PyGTK - 入门级
 - PyGTK - 信号处理
 - PyGTK - 事件处理
 - PyGTK - 容器
 - PyGTK - 盒子类
 - PyGTK - ButtonBox 类
 - PyGTK - 对齐类
 - PyGTK - EventBox 类
 - PyGTK - 布局类
 - PyGTK - 组合框类
 - PyGTK - ToggleButton 类
 - PyGTK - CheckButton 类
 - PyGTK - 单选按钮类
 - PyGTK - 菜单栏、菜单和菜单项
 - PyGTK - 工具栏类
 - PyGTK - 调整类
 - PyGTK - 范围类
 - PyGTK - 规模类
 - PyGTK - 滚动条类
 - PyGTK - 对话框类
 - PyGTK - 消息对话框类
 - PyGTK - AboutDialog 类
 - PyGTK - 字体选择对话框
 - PyGTK - 颜色选择对话框
 - PyGTK - 文件选择器对话框
 - PyGTK - 笔记本类
 - PyGTK - 框架类
 - PyGTK - AspectFrame 类
 - PyGTK - TreeView 类
 - PyGTK - 窗格类
 - PyGTK - 状态栏类
 - PyGTK - ProgressBar 类
 - PyGTK - 视口类
 - PyGTK - 滚动窗口类
 - PyGTK - 箭头类
 - PyGTK - 图像类
 - PyGTK - DrawingArea 类
 - PyGTK - SpinButton 类
 - PyGTK - 日历类
 - PyGTK - 剪贴板类
 - PyGTK - 标尺类
 - PyGTK - 超时
 - PyGTK - 拖放
 
- PyGTK 有用资源
 - PyGTK - 快速指南
 - PyGTK - 有用的资源
 - PyGTK - 讨论
 
PyGTK - 滚动条类
此类是 gtk.Hscrollbar 和 gtk.Vscrollbar 小部件的抽象基类。两者都与调整对象相关联。滚动条滑块的位置由滚动调整控制。调整对象的属性使用如下 -
| 降低 | 滚动区域的最小值 | 
| 上 | 滚动区域的最大值 | 
| 价值 | 代表滚动条的位置,必须在lower和upper之间 | 
| 页面大小 | 表示可见可滚动区域的大小 | 
| 步长增量 | 单击小步进箭头时滚动的距离 | 
| 页增量 | 按下Page Up或Page Down键时滚动的距离 | 
以下程序显示了放置在添加到顶层窗口的 VBox 中的 HScale 和 HScrollbar 小部件。它们中的每一个都与一个调整对象相关联。
adj1 = gtk.Adjustment(0, 0, 101, 0.1, 1, 1) self.adj2 = gtk.Adjustment(10,0,101,5,1,1)
gtk.HScale 小部件是与 adj1 相连的滑块控件。其更新策略、提款数量和位置设置如下 -
scale1 = gtk.HScale(adj1) scale1.set_update_policy(gtk.UPDATE_CONTINUOUS) scale1.set_digits(1) scale1.set_value_pos(gtk.POS_TOP) scale1.set_draw_value(True)
gtk.HScrollbar 提供水平滚动条。它与 adj2 对象关联。其更新策略也设置为 CONTINUOUS。
self.bar1 = gtk.HScrollbar(self.adj2) self.bar1.set_update_policy(gtk.UPDATE_CONTINUOUS)
为了显示滚动条的瞬时值,调整对象 adj2的“value-changed”信号连接到回调函数on_scrolled()。该函数检索调整对象的 value 属性并将其显示在滚动条下方的标签上。
self.adj2.connect("value_changed", self.on_scrolled)
   def on_scrolled(self, widget, data = None):
   self.lbl2.set_text("HScrollbar value: "+str(int(self.adj2.value)))
例子
观察以下代码 -
import gtk
class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Range widgets Demo")
      self.set_default_size(250, 200)
      self.set_position(gtk.WIN_POS_CENTER)
      
      adj1 = gtk.Adjustment(0.0, 0.0, 101.0, 0.1, 1.0, 1.0)
      self.adj2 = gtk.Adjustment(10,0,101,5,1,1)
      
      scale1 = gtk.HScale(adj1)
      scale1.set_update_policy(gtk.UPDATE_CONTINUOUS)
      scale1.set_digits(1)
      scale1.set_value_pos(gtk.POS_TOP)
      scale1.set_draw_value(True)
      
      vb = gtk.VBox()
      vb.add(scale1)
      lbl1 = gtk.Label("HScale")
      
      vb.add(lbl1)
      self.bar1 = gtk.HScrollbar(self.adj2)
      self.bar1.set_update_policy(gtk.UPDATE_CONTINUOUS)
      vb.add(self.bar1)
      self.lbl2 = gtk.Label("HScrollbar value: ")
      
      vb.add(self.lbl2)
      self.adj2.connect("value_changed", self.on_scrolled)
      self.add(vb)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
   
   def on_scrolled(self, widget, data=None):
      self.lbl2.set_text("HScrollbar value: "+str(int(self.adj2.value)))
if __name__ == '__main__':
   PyApp()
   gtk.main()
上面的代码将生成以下输出 -
