26 Eylül 2010 Pazar

Qt'ye Giriş

İlk olarak şimdiye kadar hiç bir bilgimin olmadığı "Qt" hakkında internette bilgi toplamaya başladım. Genelde grafiksel arayüz tasarımında kullanıldığını öğrendim. Ardından paket yöneticisinden Qt demo isimli yazılımı indirdim. Qt ile neler yapılabileceğini bu yazılımı karıştırarak öğrendim.

Bu ve buna benzer birkaç kısa bir bilgi edindikten sonra Qt'yi kendim deneyip öğrenmem gerektiği kanısına vardım ve bunu da Qt designer yazılımıyla yapabileceğime karar verdim. Hemen paket menajerinde aratıp bilgisayarıma kurdum.


Qt designer'ı çalıştırdığımda karşıma ilk olarak New Form isimli pencere geldi. İstenilen form (main window/widget vs) seçildikten sonra layout kullanarak veya elle objeleri forma yerleştirdim Bu objeleri forma yerleştirirken sadece sürükleyip bırakmak yeterli oluyor. Formun görünümü bittikten sonra kaydettim. Oluşan dosya .ui uzantılı(user interface) bir dosyaydı. Dosyayı kwrite ile açıp nasıl kaydedildiğini inceledim.Dosya xml formatında kaydedilmişti.

Qt designer'da kullandığımız her objenin özelliklerini (size , font, text vs) Property Editor'de
belirtebiliriz. Bu objenin özelliklerine oluşan ui uzantılı dosyayı metin düzenleyicisiyle açıp bakabiliriz.
Fakat oluşan ui dosyası sadece objelerini text , visible/invisible , font ,size gibi özellikleri tutması yetmezdi. Bu nesneler istenilen herhangi bir durumda oluşan olay karşısında tepki vermesi gerekmekteydi. Programı biraz karıştırdıktan sonra edit menüsünde signals/slots ile yapılabileceğimi buldum(Bu moda F4 tuşuyla da geçilebilir). Objeler arasında ilişkiyi kurdum ve kaydettim. Oluşan dosyayı kwrite ile açtım. Oluşturduğum 2 dosya arasında etiketinde bir farklılık oluştu.

pushButton
clicked()
radioButton
click()



Burada sinyali oluşturacak nesne pushButton nesnesidir. Bu nesnenin sinyali ise clicked()'dir. Bu sinyale bağlanan yuvanın nesnesi de radioButton , yuva ise click()dir. Yani pushButton nesnesi tıklandığında radioButton nesnesinin click fonksiyonu çalıştırılacak.

Buraya kadar Qt nesneleri , Qt designer yazılımına giriş yaptım. Service managerın kaynak kodlarını az da olsa Qt nesneleri hakkında bilgi edindikten sonra indirmeyi düşündüm. Bu dosyaları indirdikten sonra ui klasörünün içindeki dosyaları Qt designer ile açıp xml formatlı dosyalar ve python dosyaları arasındaki ilişkiyi anlamaya çalışacağım.

Hiç yorum yok:

Yorum Gönder