PyGTK 滚动条类

PyGTK 滚动条类

该类是gtk.Hscrollbar和gtk.Vscrollbar部件的一个抽象基类。两者都与一个调整对象相关联。滚动条的拇指的位置由滚动调整控制。调整对象的属性使用如下:

lower 滚动区域的最小值
upper 滚动区域的最大值
value 代表滚动条的位置,必须在下限和上限之间。
page_size 代表可见的可滚动区域的大小
step_increment 点击小步进箭头时要滚动的距离
page_increment 当按下 Page UpPage Down 键时的滚动距离

下面的程序显示了一个HScale和一个HScrollbar小组件,放在一个添加到顶层窗口的VBox中。它们中的每一个都与一个调整对象相关联。

adj1 = gtk.Adjustment(0, 0, 101, 0.1, 1, 1)
self.adj2 = gtk.Adjustment(10,0,101,5,1,1)

一个gtk.HScale widget是一个与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)

为了显示滚动条的瞬时值, 调整对象 的’value-changed’信号 - adj2 被连接到回调函数 on_scrolled()。 该函数检索调整对象的值属性,并将其显示在滚动条下面的标签上。

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()

上述代码将产生以下输出 –

PyGTK - 滚动条类

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程