PyGTK-스크롤바 클래스
이 클래스는 gtk.Hscrollbar 및 gtk.Vscrollbar 위젯에 대한 추상 기본 클래스입니다. 둘 다 조정 개체와 연결되어 있습니다. 스크롤 막대의 썸 위치는 스크롤 조정으로 제어됩니다. 조정 개체의 속성은 다음과 같이 사용됩니다-
보다 낮은 | 스크롤 영역의 최소값 |
높은 | 스크롤 영역의 최대 값 |
값 | 스크롤바의 위치를 나타내며 하단과 상단 사이에 있어야합니다. |
페이지 크기 | 보이는 스크롤 가능 영역의 크기를 나타냅니다. |
step_increment | 작은 스테퍼 화살표를 클릭 할 때 스크롤 할 거리 |
page_increment | 스크롤 할 거리 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)
스크롤바의 순간 값을 표시하기 위해 '값 변경'신호 the adjustment object — 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()
위의 코드는 다음 출력을 생성합니다.