آموزش کلاس Scrollbar در PyGTK
آموزش کلاس Scrollbar در PyGTK
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس Scrollbar در PyGTK خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون
این کلاس یک کلاس پایه انتزاعی برای ویجت های gtk.Hscrollbar و gtk.Vscrollbar است. هر دو با یک شی Adjustment مرتبط هستند. موقعیت شست نوار پیمایش با تنظیمات پیمایش کنترل می شود. ویژگیهای شیء تنظیم به شرح زیر استفاده می شود –
lower | حداقل مقدار منطقه پیمایش |
upper | حداکثر مقدار منطقه پیمایش |
value | نشان دهنده موقعیت نوار پیمایش است که باید بین پایین و بالا باشد |
page_size | نشان دهنده اندازه ناحیه قابل پیمایش قابل مشاهده است |
step_increment | فاصله برای حرکت هنگامی که روی پیکان های کوچک پله ای کلیک می شود |
page_increment | فاصله برای پیمایش با فشار دادن کلیدهای Page Up یا Page Down |
برنامه زیر یک HScale و یک ویجت HScrollbar را نشان می دهد که در VBox قرار داده شده و به پنجره سطح بالا اضافه شده است. هر یک از آنها با یک شی تنظیم تنظیم می شود.
1 2 |
adj1 = gtk.Adjustment(0, 0, 101, 0.1, 1, 1) self.adj2 = gtk.Adjustment(10,0,101,5,1,1) |
ویجت gtk.HScale یک کنترل لغزنده است که با adj1 متصل شده است. سیاست به روز رسانی ، تعداد و موقعیت ارزش ترسیم به شرح زیر تنظیم شده است –
1 2 3 4 5 |
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 تنظیم شده است.
1 2 |
self.bar1 = gtk.HScrollbar(self.adj2) self.bar1.set_update_policy(gtk.UPDATE_CONTINUOUS) |
به منظور نمایش مقدار لحظه ای نوار پیمایش ، سیگنال “value-changed” شیء تنظیم-adj2 به تابع ()callback on_scrolled متصل است. تابع ویژگی مقدار شیء adjustment را بازیابی می کند و آن را روی برچسبی در زیر نوار پیمایش نمایش می دهد.
1 2 3 |
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))) |
مثال
کد زیر را رعایت کنید –
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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
- آموزش PyGTK
- معرفی PyGTK
- آموزش محیط PyGTK
- آموزش Hello World در PyGTK
- آموزش کلاس های مهم در PyGTK
- آموزش کلاس پنجره در PyGTK
- آموزش کلاس دکمه در PyGTK
- آموزش کلاس لیبل در PyGTK
- آموزش کلاس ورود در PyGTK
- آموزش مدیریت سیگنال در PyGTK
- آموزش مدیریت رویداد در PyGTK
- آموزش کانتینر در PyGTK
- آموزش کلاس جعبه در PyGTK
- آموزش کلاس ButtonBox در PyGTK
- آموزش کلاس تراز در PyGTK
- آموزش کلاس EventBox در PyGTK
- آموزش کلاس Layout در PyGTK
- آموزش کلاس ComboBox در PyGTK
- آموزش کلاس ToggleButton در PyGTK
- آموزش کلاس CheckButton در PyGTK
- آموزش کلاس RadioButton در PyGTK
- آموزش MenuBar ،Menu و MenuItem در PyGTK
- آموزش کلاس نوار ابزار در PyGTK
- آموزش کلاس Adjustment در PyGTK
- موزش کلاس Range در PyGTK
- آموزش کلاس Scale در PyGTK
دیدگاه شما