آموزش کلاس نوت بوک در PyGTK

3 سال پیش
آموزش کلاس نوت بوک در PyGTK

آموزش کلاس نوت بوک در PyGTK

در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس نوت بوک در PyGTK خواهیم پرداخت.

پیشنهاد ویژه : آموزش طراحی وب سایت با پایتون

ویجت نوت بوک کانتینر تب دار است. هر تب در این کانتینر دارای صفحه ای متفاوت است و صفحات به صورت همپوشانی دیده می شوند. هر صفحه دلخواه با کلیک روی برچسب تب قابل مشاهده می شود. برچسب ها می توانند پیکربندی شوند تا در بالا یا پایین یا در چپ یا راست نمایش داده شوند. یک ویجت ظرف با ویجت های دیگر که در آن قرار دارد یا یک ویجت واحد در زیر هر صفحه قرار می گیرد.

اگر داده ها برای نمایش در یک نمای بسیار بزرگ باشند، در صفحات مختلف گروه بندی می شوند که هر کدام در زیر یک برگه از ویجت نوت بوک قرار می گیرند. این نوع کنترل بسیار کاربرد دارد. به عنوان مثال مرورگر اینترنت از این صفحه نمایش برای نمایش صفحات مختلف در تب های مختلف استفاده می کند.

در زیر سازنده کلاس gtk است. نوت بوک –

gtk.Notebook()

 

در زیر متدهای متداول کلاس gtk است.

append_page (child، label) – این صفحه ای را به نوت بوک اضافه می کند که حاوی ویجتی است که توسط tab_label به عنوان برچسب روی تب مشخص شده است. اگر tab_label می تواند هیچکدام از برچسب پیش فرض استفاده کند.

insert_page(child, label, position) – این یک صفحه را در نوت بوک در محلی که با موقعیت مشخص شده است ، وارد می کند.

remove_page (index) – این صفحه را در فهرست مشخص شده حذف می کند.

()get_current_page – این صفحه فهرست صفحه فعلی را برمی گرداند.

set_current_page (index) – این به شماره صفحه مشخص شده توسط فهرست تغییر می کند.

 ()set_show_tabs  – اگر falseباشد، تب ها قابل مشاهده نیستند. این به طور پیش فرض True است.

set_tab_pos (pos) – این لبه ای را تعیین می کند که زبانه های تعویض صفحات در نوت بوک در آن کشیده شده اند. ثابت های از پیش تعریف شده عبارتند از –

  • gtk.POS_LEFT
  • gtk.POS_RIGHT
  • gtk.POS_TOP
  • gtk.POS_BOTTOM

set_tab_label_text(child, text)– این یک برچسب جدید با متن مشخص شده ایجاد می کند و آن را به عنوان برچسب تب برای صفحه حاوی فرزند تعیین می کند.

ویجت gtk.Notebook سیگنال های زیر را منتشر می کند –

 

change-current-page وقتی درخواست صفحه به جلو یا صفحه عقب صادر می شود، منتشر می شود
focus-tab وقتی فوکوس با تب تغییر می کند، منتشر می شود.
page-added این مورد زمانی منتشر می شود که صفحه ای به نوت بوک اضافه شود.
page-removed پس از حذف صفحه از نوت بوک، این صفحه منتشر می شود.
select-page این صفحه زمانی انتخاب می شود که یک صفحه فرزند جدید انتخاب شود.
switch-page هنگامی که صفحه نوت بوک تغییر می کند، منتشر می شود.

 

مثال

در مثال زیر، یک gtk. نوت بوک با سه صفحه در یک gtk سطح بالا قرار می گیرد. صفحه اول دارای VBox است که در آن برچسب و قسمت Entry بسته بندی شده است. صفحه دوم با عنوان “qualifications” دارای یک HButtonBox است که در آن سه ویجت RadioButton متقابل منحصر به فرد اضافه شده است. صفحه سوم دارای یک شی TextView است. برچسب های صفحه در بالا نمایش داده می شود.

کد را دنبال کنید –

import gtk
class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Notebook Demo")
      self.set_default_size(250, 200)
        
      nb = gtk.Notebook()
      nb.set_tab_pos(gtk.POS_TOP)
      vbox = gtk.VBox(False, 5)
        
      vb = gtk.VBox()
      hbox = gtk.HBox(True, 3)
        
      valign = gtk.Alignment(0.5,0.25, 0, 0)
      lbl = gtk.Label("Name of student")
        
      vb.pack_start(lbl, True, True, 10)
      text = gtk.Entry()
        
      vb.pack_start(text, True, True, 10)
      valign.add(vb)
        
      vbox.pack_start(valign)
      nb.append_page(vbox)
      nb.set_tab_label_text(vbox, "Name")
      hb = gtk.HButtonBox()
        
      btn1 = gtk.RadioButton(None,"Degree")
      hb.add(btn1)
        
      btn2 = gtk.RadioButton(btn1,"P.G.")
      hb.add(btn2)
        
      btn3 = gtk.RadioButton(btn1,"Doctorate")
      hb.add(btn3)
        
      nb.append_page(hb)
      nb.set_tab_label_text(hb, "Qualification")
        
      tv = gtk.TextView()
      nb.append_page(tv)
      nb.set_tab_label_text(tv, "about")
        
      self.add(nb)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
if __name__ == '__main__':
   PyApp()
   gtk.main()

 

پس از اجرا، کد بالا یک نوت بوک با سه صفحه نمایش می دهد –

NoteBook Demo

NoteBook

 

منبع.

 

 

لیست جلسات قبل آموزش PyGTK

  1. آموزش PyGTK
  2. معرفی PyGTK
  3. آموزش محیط  PyGTK
  4. آموزش Hello World در  PyGTK
  5. آموزش کلاس های مهم در  PyGTK
  6. آموزش کلاس پنجره در PyGTK
  7. آموزش کلاس دکمه در PyGTK
  8. آموزش کلاس لیبل در PyGTK
  9. آموزش کلاس ورود در PyGTK
  10. آموزش مدیریت سیگنال در PyGTK
  11. آموزش مدیریت رویداد در PyGTK
  12. آموزش کانتینر در PyGTK
  13. آموزش کلاس جعبه در PyGTK
  14. آموزش کلاس ButtonBox در PyGTK
  15. آموزش کلاس تراز در PyGTK
  16. آموزش کلاس EventBox در PyGTK
  17. آموزش کلاس Layout در PyGTK
  18. آموزش کلاس ComboBox در PyGTK
  19. آموزش کلاس ToggleButton در PyGTK
  20. آموزش کلاس CheckButton در PyGTK
  21. آموزش کلاس RadioButton در PyGTK
  22. آموزش MenuBar ،Menu و MenuItem در PyGTK
  23. آموزش کلاس نوار ابزار در PyGTK
  24. آموزش کلاس Adjustment در PyGTK
  25. موزش کلاس Range در PyGTK
  26. آموزش کلاس Scale در PyGTK
  27. آموزش کلاس Scrollbar در PyGTK
  28. آموزش کلاس Dialog در PyGTK
  29. آموزش کلاس MessageDialog در PyGTK
  30. آموزش کلاس AboutDialog در PyGTK
  31. آموزش کلاس FontSelection در PyGTK
  32. آموزش کلاس Color Selection در PyGTK
  33. آموزش دیالوگ انتخاب فایل در PyGTK
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه