intranet-property-editorda-layout

PROPERTY EDİTÖR

Property Editor'de Layout :

        Eğer herhangi bir dialog yada widget'a layout eklerseniz bunları o widget'ın Property Editor'ünde Layout sekmesi adı altında bulabilirsiniz.

Property Editor'ün Yerleşim Özellikleri

Sırasıyla bu özellikleri inceleyelim;

Layout(left, right, up, down)margin: Bu widgetların layout içinde sol, sağ, üst ve altından ne kadar boşluk bırakacağını tutar.

LayoutSpacing           : Layout arası widgetların arasındaki mesafeyi tutar. Burda -1 default olarak atanmış bir değerdir. Eğer elle atamak istersek 0 dan büyük değerler girebiliriz. -1 ve altı değerler geçersiz değerlerdir.

LayoutStrecth            : Layout içindeki widget'ların hangi oranda yer tutacağını setleyebiliriz. Normalde 0 dır. Fazla değere sahip olan daha geniş yer kaplar.

LayoutSizeConstraint : Bu Qt tarafindan layoutlarin aşırı daraltılması veya genişlemesini engellemek amaçlı boyuta sınır koyan özelliktir.

        QT, widgetlarin üst üste gelmeye başlıyacağı boyutu minimum kabul edip en fazla o kadar daralmasına izin verecektir. Bu özellik aktifse pencerelerimiz widget'ların üst üste gelmeye başladığı anda resize'ı durdurur. Ancak bunu aktif etmek çok düşük çözünürlüklerde sorunlar yaratacaktır. Aynı zamanda layout çakışmasını bile minimum kabul edeceğinden widget'lar çok daha fazla darabilecekken bile, daralmasına engel olabilir.

        Bu da minumum size belli olduğundan belki pencere daha fazla küçülemeyeğinden kullanıcı widget'ları göremeyecektir. Yani widget'ları görememesi yerine widget'ların az da olsa üst üste gelmesi bazen avantaj sağlayabilir. Bu yüzden bu özelliği setNoConstraintle kapatmamız gerekir. Şimdi bu özellikle ilgili seçenekleri inceleyelim.

SetDefaultConstraint : Default gelir. QT tarafindan minimum belirlenen size'ın altına düşemez. Ama direk bu size ile de başlamaz.

SetFixedSize                 : QT tarafından belirlenen size'da sabitlenir, altı veya üstü olamaz.

SetMinimumSize           : QT tarafindan belirlenen minumum size'da kendini setler.

SetMaximumSize          : QT tarafindan belirlenen maximum size'da kendini setler.

SetMinandMaxSize      : QT default değerlerine gore minimum size minumuma, maximumsize da maximuna atanir. Bu aralık içinde her size resize edilebilir.

SetNoConstraint          : Tamamen değişken olabilen her size getirilebilen bir pencere oluşturulur.

 

Property Editor'de SizePolicy :

        SizePolicy, layout'larda widget'ların güzel görünebilmesi açısından önemlidir. Ancak bu özellikler layoutlar içinde geçerli olmaya başlar. Bu yüzden layout içerisinde olmayan bir widget ın burdaki değişiklerden etkilenmesi beklenemez.

        SizePolicy bölümü de geomerty gibi dört child özellik barındırır. Sırasıyla 'Horizontal Policy', 'Vertical Policy', 'Horizontal Stretch' ve 'Vertical Stretch'. Horizontal ve Vertical Policy widgetların sırasıyla yatay ve dikey de layout tarafından alan verildiklerinde nasıl bir davranış izleyeceklerini tutar. Bu seçenekleri inceleyelim;

Property Editor'de SizePolicy Bölümü

Not :Bir widget'ı layouta koyduğumuzda Qt tarafından önerilen bir boyut oluşturulur. Bu boyut sizeHint()'dir.

        Kısaca sizeHint, Qt'nin widget'larımız için ekranımızdaki en ideal boyuttur. Bu boyutu kullanmayıp kendi boyutlarımızı tanımlamak için setMinimunSize ve setMaximunSize fonksiyonlarını kullanabiliriz.

Fixed                           :  sizeHint() değerlerine göre widget'ı sabitler. Layout genişlese de daralsa da aynen boyutunu sürdürmeye devam eder.

Minimum                     : sizeHint() değerini minimuma çeker ve o değerleri kabul eder. O değerlerin altına düşmez. Ancak layout genişlediğinde düzene uyabilmek için genişleyebilir.

Maximum                    : sizeHint() değerini maximuma çeker ve o değerlerin üstüne çıkamaz. Ancak diğer widgetlar'ın daha fazla yer ihtiyacı veya layout küçülmeye başlarsa boyutunda azalma olabilir.

Preffered                  :  sizeHint() normal değerlerini kabul eder. Daralabilir veya genişleyebilir. Ancak kesinlikle genişlerken vermiş olduğumuz değerlerin üstüne çıkamaz.

Expanding                  : sizeHint() sınırları doğrultusunda widget'ta layout tarafından ne kadar alan verilirse tamamını kullanır ve genişleyebildiği kadar genişler.
Alan daraltılırsa da küçülebilir.

MinimumExpanding   : Genişler ancak daralması için daraltılabilecek başka widget olmamalıdır. Aksi takdirde bu widget sabit kalırken daratılabilecek başka widgetlar varsa o widgetlar daraltılır.

Ignored                       : Widget için hiçbir şey sınır değildir. Genişleyebileceği kadar genişler. Daralabileceği kadar da daralır.

Property Editor'de Geometri :

Property Editor'ün Geometri Özellikleri

        Property Editor'de 'geometry' adlı satırı expand ettiğimizde, sırasıyla 'X', 'Y', 'width' ve 'height' olarak adlandırılan özellikler görürüz. X ve Y widget'in parenti üzerinde bulunduğu noktanın koordinatlarını tutar. Width ve height ise sırasıyla genişlik ve yüksekliği tutar. Bu kısma genelde ihtiyaç duymayız çünkü pencere boyutu değiştikçe form üzerindeki widget'ların değeri de otomatik değişecektir.