آموزش کلاس تراز در PyGTK
آموزش کلاس تراز در PyGTK
در این درس از مجموعه آموزش برنامه نویسی سایت سورس باران، به آموزش کلاس تراز در PyGTK خواهیم پرداخت.
پیشنهاد ویژه : پکیج آموزش طراحی وب سایت با پایتون
این ویجت در کنترل تراز و اندازه ویجت های فرزند مفید است. دارای چهار ویژگی به نام های xalign ،yalign ،xscale و yscale است. ویژگی های مقیاس مشخص می کند که چه مقدار از فضای آزاد توسط ابزارک های کودک استفاده می شود. ویژگی های تراز برای قرار دادن ویجت کودک در محدوده موجود استفاده می شود.
هر چهار ویژگی دارای مقدار شناور بین 0 تا 1.0 هستند. اگر ویژگی xscale و yscale روی 0 تنظیم شود، بدان معنی است که ویجت هیچ فضای آزاد را جذب نمی کند و اگر روی 1 تنظیم شود ، ویجت به ترتیب حداکثر فضای آزاد را به صورت افقی یا عمودی جذب می کند.
ویژگی xalign و yalign اگر روی 0 تنظیم شود، بدین معناست که فضای خالی در ویجت سمت چپ یا بالاتر وجود نخواهد داشت. اگر روی 1 تنظیم شود، حداکثر فضای آزاد در سمت چپ یا بالای ویجت وجود خواهد داشت.
کلاس gtk.alignment دارای سازنده زیر است –
1 |
gtk.alignment(xalign = 0.0, yalign = 0.0, xscale = 0.0, yscale = 0.0) |
جایی که،
- xalign – کسری از فضای آزاد افقی در سمت چپ ویجت کودک است.
- yalign – کسری از فضای آزاد عمودی بالای ویجت کودک است.
- xscale – آیا بخشی از فضای آزاد افقی است که ویجت کودک آن را جذب می کند.
- yscale – این بخشی از فضای آزاد عمودی است که ویجت کودک آن را جذب می کند.
مثال
کد زیر استفاده از ویجت gtk.alignment را نشان می دهد. یک Vbox در پنجره سطح بالا دارای یک Vbox بالا و Hbox پایین در آن قرار دارد. در کادر عمودی بالا، یک برچسب و یک ویجت Entry به گونه ای قرار گرفته اند که در سمت چپ ، 50٪ فضا آزاد و بیش از 25٪ از آن با اختصاص 0.5 xalign و 0.25 به ویژگی های yalign اشغال شده است.
در HBox پایین، تمام فضای آزاد موجود در سمت چپ است. این امر با اختصاص 1 به ویژگی xalign به دست می آید. بنابراین، دو دکمه در کادر افقی تراز راست ظاهر می شوند.
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("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() |
کد بالا خروجی زیر را تولید می کند –
لیست جلسات قبل آموزش PyGTK
- آموزش PyGTK
- معرفی PyGTK
- آموزش محیط PyGTK
- آموزش Hello World در PyGTK
- آموزش کلاس های مهم در PyGTK
- آموزش کلاس پنجره در PyGTK
- آموزش کلاس دکمه در PyGTK
- آموزش کلاس لیبل در PyGTK
- آموزش کلاس ورود در PyGTK
- آموزش مدیریت سیگنال در PyGTK
- آموزش مدیریت رویداد در PyGTK
- آموزش کانتینر در PyGTK
- آموزش کلاس جعبه در PyGTK
- آموزش کلاس ButtonBox در PyGTK
دیدگاه شما