آموزش کلاس جعبه در PyGTK

3 سال پیش
آموزش کلاس جعبه در PyGTK

آموزش کلاس جعبه در PyGTK

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

پیشنهاد ویژه : پکیج آموزش پروژه محور پایتون

کلاس gtk.Box یک کلاس انتزاعی است که عملکرد یک ظرف را مشخص می کند که در آن ویجت ها در یک منطقه مستطیلی قرار می گیرند. ویجت های gtk.HBox و gtk.VBox از آن مشتق شده اند.

ویجت های کودک در gtk.Hbox به صورت افقی در یک ردیف مرتب شده اند. از سوی دیگر ویجت های کودک gtk.VBox به طور عمودی در یک ستون مرتب شده اند.

کلاس gtk.Box از سازنده زیر استفاده می کند –

gtk.Box(homogenous = True, spacing = 0)

 

ویژگی همگن به طور پیش فرض روی True تنظیم شده است. در نتیجه به همه ویجت های کودک تخصیص مساوی داده می شود.

gtk.Box از مکانیزم بسته بندی برای قرار دادن ویجت های کودک در آن با اشاره به موقعیت خاصی، چه با اشاره به شروع یا پایان استفاده می کند. متد ()pack_start   ویجت ها را از ابتدا تا انتها قرار می دهد. برعکس ، روش ()pack_end ویجت ها را از انتها به شروع قرار می دهد. متناوبا ، می توانید از روش ()add استفاده کنید که مشابه ()pack_start است.

روشهای زیر برای gtk.HBox و gtk.VBox در دسترس است –

  • ()gtk_box_pack_start
  • ()gtk_box_pack_end

()gtk_box_pack_start 

این روش کودک را به جعبه اضافه می کند،

pack_start(child, expand = True, fill = True, padding = 0)

 

پارامترهای زیر –

  • child – این شی ویجت است که باید به جعبه اضافه شود
  • expand – اگر قرار باشد فضای بیشتری در جعبه به کودک داده شود ، روی True تنظیم شده است. فضای اضافی بین همه ابزارک های کودک تقسیم شده است.
  • fill – اگر True باشد ، فضای بیشتری به کودک اختصاص داده می شود. در غیر این صورت، این پارامتر به عنوان پد استفاده می شود.
  • padding – این فاصله در پیکسل بین ویجت های موجود در جعبه است.

()gtk_box_pack_end 

این کار کودک را به جعبه اضافه می کند،

pack_end (child, expand = True, fill = True, padding = 0)

 

پارامترهای زیر –

  • child – این شی ویجت است که باید اضافه شود
  • expand – اگر قرار باشد فضای بیشتری در جعبه به کودک داده شود ، روی True تنظیم شده است. این فضای اضافی بین همه ابزارک های کودک تقسیم شده است.
  • fill – اگر True باشد ، فضای اضافی به کودک اختصاص داده می شود در غیر این صورت به عنوان بالشتک استفاده می شود.
  • padding – این فاصله در پیکسل بین ابزارک های موجود در جعبه است.
  • set_spacing (فاصله) تابعی است که تعداد پیکسل ها را برای قرار دادن بین فرزندان جعبه تعیین می کند.
  • متد add (ویجت) از کلاس gtk.Container به ارث می رسد. ویجت را به ظرف اضافه می کند. این روش را می توان به جای روش ()pack_start استفاده کرد.

 

مثال

در مثال زیر، پنجره سطح بالا شامل یک جعبه عمودی (جعبه شی gtk.VBox) است. این به نوبه خود دارای شی VBox vb و شی HBox hb است. در کادر بالا، یک برچسب، یک ویجت ورودی و یک دکمه به صورت عمودی قرار داده شده است. در کادر پایین، مجموعه دیگری از برچسب، ورودی و دکمه به صورت عمودی قرار داده شده است.

کد زیر را رعایت کنید –

import gtk
class PyApp(gtk.Window):
   def __init__(self):
      super(PyApp, self).__init__()
         self.set_title("Box demo")
        
      box = gtk.VBox()
      vb = gtk.VBox()
      lbl = gtk.Label("Enter name")
        
      vb.pack_start(lbl, expand = True, fill = True, padding = 10)
      text = gtk.Entry()
        
      vb.pack_start(text, expand = True, fill = True, padding = 10)
      btn = gtk.Button(stock = gtk.STOCK_OK)
        
      vb.pack_start(btn, expand = True, fill = True, padding = 10)
      hb = gtk.HBox()
        
      lbl1 = gtk.Label("Enter marks")
      hb.pack_start(lbl1, expand = True, fill = True, padding = 5)
      text1 = gtk.Entry()
        
      hb.pack_start(text1, expand = True, fill = True, padding = 5)
      btn1 = gtk.Button(stock = gtk.STOCK_SAVE)
        
      hb.pack_start(btn1, expand = True, fill = True, padding = 5)
      box.add(vb)
      box.add(hb)
      self.add(box)
      self.show_all()
PyApp()
gtk.main()

 

کد بالا خروجی زیر را تولید می کند –

Box Demo

 

منبع.

 

لیست جلسات قبل آموزش 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
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه