intranet-qt-ekran-tasarlama-ipuçları

EKRANLARI TASARLARKEN DİKKAT ETMEMIZ GEREKENLER:

1: Ekranları tam ekran yapmak için Qt Designer'dan bu ekranların yatay(horizontal) ve dikey(vertical) policy özelliğinin expanding olarak ayarlanması lazım. Böylelikle tam ekran yapmak istediğimizde uygun şekilde tam ekran olacaktır.Designer'dan böyle ayarlanmayıp da tam ekran olanlar büyük bir ihtimalle geniş ekranlarda sorun çıkaracaktır. Bu yüzden kesinlikle böyle ayarlanmalıdır.

2: Tam ekran olmaması gereken GUI lerde yatay(horizontal) ve dikey(vertical)  policy özelliğinin “preffered” yapılarak koddan veya designerdan default bir baslangıç değeri verilmelidir. Ancak kesinlikle tam ekran olmasına karışmamalıyız. Bu yüzden layout'lar düzgün bir şekilde yerleştirilip ekranın tam ekran olma ihtimalini de göz önüne alınarak GUI'de düzenlemeler yapılmalıdır. Bu düzenlemeler, tam ekran da tekrar boyutlanabilen widgetlar kullanılarak yapılabilir.

3: TextArea , GraphicsView vs alanlar hariç ve gerekmedikçe tüm widgetların vertical policylerinin fixed olması widgetların görüntüsü açısından önemlidir.Mesela dikeyde çok küçülen bir lineedit e text yazamayız.

4: Spacer lar normalde widgetlarımız kullanmasını istemediğimiz veya widgetlarımızın bir tarafa dayalı bir şekilde bulunmasını istediğimiz durumlarda kullanmalıyız.Aynı zamanda widgetların genişliklerini başka widgetlara göre orantılamak istediğimizde de kullanabiliriz.

5: Combobox gibi widgetlarda size'ı minimunda tutarsak combobox içine gelen içeriğe göre ayarlayacaktır.

6: Eğer ki bir widgetımızın genişliğinin diger widgetlara göre ufak olmasını istersek diğer widgetlara göre yanına fazladan spacerlar koymamız lazım. Mesela bir widget'ta 1 spacer varsa o widgettan ufak olmasını istediğimiz widgetın yanına 2 tane spacer koymalıyız.

7: Tüm ekranlarımız top level yani dialog layotunun constraintini SetNoConstraint atamalayız ki her zaman resize edilebilsin. Dikkat eğer ki resize edilmesine qt nin karar vermesini  istiyorsak default olarak bırakmalıyız.

8: Kernelin butonlar icin kullanmış oldugu widgetlar ise kesinlikle expanding olmalidir. Ve sadece vertical size fixlenmelidir.Aksi takdir de gui de resize esnasinda bozulmalara neden olacaktır.

9: Ekranda resimlerde genellikle Qlabel kullanmak ideal yoldur.Çünkü kullanimi cok kolaydir direk designerdan pixmap yukleyip.ScaleContents dedigimizde de resim ekrana göre resize olur. Ancak resmin çözünürlüğünden fazla ekranı küçültemezsiniz bununda labelin vertical ve horizontal policylerini ignored yaparak engelleyebilirsiniz.

10: Birden fazla tab widgetın bulunduğu ekranlarda seçili olacak tab kodla ayarlanmalidir. Kesinlikle designerdan ayarlanmamalıdır.

11: Containerların (frame,widget,tabwidget gibi ) içine eklenen widgetlarında hizalanmasında layout kullanılmalı.Bunun için containerı seçip grid layout butonuna tıklanılmalı.

Tüm bu işlemlerden sonra ekranlarımızı düşük ve yüksek çözünürlüklerde test edip görüntü bozulmalarını onarmalıyız.