PyGTK - संरेखण कक्षा

यह विजेट अपने बच्चे के विगेट्स के संरेखण और आकार को नियंत्रित करने में उपयोगी साबित होता है। इसमें xalign, yalign, xscale और yscale नामक चार गुण हैं। स्केल गुण निर्दिष्ट करते हैं कि चाइल्ड विजेट द्वारा कितनी खाली जगह का उपयोग किया जाएगा। संरेखित गुण उपलब्ध क्षेत्र के भीतर बच्चे के विजेट को रखने के लिए उपयोग किए जाते हैं।

सभी चार गुण 0 और 1.0 के बीच एक फ्लोट मान लेते हैं। यदि xscale और yscale की संपत्ति 0 पर सेट है, तो इसका मतलब है कि विजेट किसी भी खाली स्थान को अवशोषित नहीं करता है और यदि 1 पर सेट होता है, तो विजेट क्रमशः अधिकतम मुक्त स्थान को क्षैतिज या लंबवत रूप से अवशोषित करता है।

Xalign और yalign प्रॉपर्टी यदि 0 पर सेट है, तो इसका मतलब है कि बाईं या ऊपर विजेट के लिए कोई खाली जगह नहीं होगी। यदि 1 पर सेट किया जाता है, तो विजेट के ऊपर या ऊपर बाईं ओर अधिकतम खाली स्थान होगा।

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 को रखा गया है। ऊपरी ऊर्ध्वाधर बॉक्स में, एक लेबल और एक एंट्री विजेट ऐसे रखा जाता है कि बाईं ओर, 50% स्थान खाली रखा जाता है और इसमें से 25% से अधिक 0.5 xignign और 0.25 yalign गुणों को असाइन करके कब्जा कर लिया जाता है।

निचले HBox में, सभी उपलब्ध खाली स्थान बाईं ओर है। यह 1 से 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()

उपरोक्त कोड निम्नलिखित आउटपुट का उत्पादन करता है -