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

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

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

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

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

این ویجت در کنترل تراز و اندازه ویجت های فرزند مفید است. دارای چهار ویژگی به نام های xalign ،yalign ،xscale و yscale است. ویژگی های مقیاس مشخص می کند که چه مقدار از فضای آزاد توسط ابزارک های کودک استفاده می شود. ویژگی های تراز برای قرار دادن ویجت کودک در محدوده موجود استفاده می شود.

 

هر چهار ویژگی دارای مقدار شناور بین ۰ تا ۱٫۰ هستند. اگر ویژگی xscale و yscale روی ۰ تنظیم شود، بدان معنی است که ویجت هیچ فضای آزاد را جذب نمی کند و اگر روی ۱ تنظیم شود ، ویجت به ترتیب حداکثر فضای آزاد را به صورت افقی یا عمودی جذب می کند.

 

ویژگی xalign و yalign اگر روی ۰ تنظیم شود، بدین معناست که فضای خالی در ویجت سمت چپ یا بالاتر وجود نخواهد داشت. اگر روی ۱ تنظیم شود، حداکثر فضای آزاد در سمت چپ یا بالای ویجت وجود خواهد داشت.

 

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

 

gtk.alignment(xalign = 0.0, yalign = 0.0, xscale = 0.0, yscale = 0.0)

 

جایی که،

  • xalign – کسری از فضای آزاد افقی در سمت چپ ویجت کودک است.
  • yalign – کسری از فضای آزاد عمودی بالای ویجت کودک است.
  • xscale – آیا بخشی از فضای آزاد افقی است که ویجت کودک آن را جذب می کند.
  • yscale – این بخشی از فضای آزاد عمودی است که ویجت کودک آن را جذب می کند.

 

مثال

کد زیر استفاده از ویجت gtk.alignment را نشان می دهد. یک Vbox در پنجره سطح بالا دارای یک Vbox بالا و Hbox پایین در آن قرار دارد. در کادر عمودی بالا، یک برچسب و یک ویجت Entry به گونه ای قرار گرفته اند که در سمت چپ ، ۵۰٪ فضا آزاد و بیش از ۲۵٪ از آن با اختصاص ۰٫۵ xalign و ۰٫۲۵ به ویژگی های yalign اشغال شده است.

در HBox پایین، تمام فضای آزاد موجود در سمت چپ است. این امر با اختصاص ۱ به ویژگی xalign به دست می آید. بنابراین، دو دکمه در کادر افقی تراز راست ظاهر می شوند.

import gtk

class PyApp(gtk.Window):
   
   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Alignment demo")
      self.set_size_request(400,200)
      self.set_position(gtk.WIN_POS_CENTER)
        
      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)
        
      ok = gtk.Button("OK")
      ok.set_size_request(70, 30)
        
      close = gtk.Button("Close")
      hbox.add(ok)
      hbox.add(close)
        
      halign = gtk.Alignment(1, 0, 0, 0)
      halign.add(hbox)
        
      vbox.pack_start(halign, False, False, 3)
        
      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()
PyApp()
gtk.main()

 

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

Alignment 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
  13. آموزش کلاس جعبه در PyGTK
  14. آموزش کلاس ButtonBox در PyGTK
0
برچسب ها :
نویسنده مطلب erfan molaei

دیدگاه شما

بدون دیدگاه