QT ile GUI Programlama
14.11.2007 - 17:31
EkleBunu Sosyal Paylaşım Butonu7 Yorum | 1325 Okuma
Son Güncelleme : 02.08.2008 - 11:55

QT nedir?

QT Troltech firması tarafından geliştirilen bir arayüz kütüphanesidir. Delphinin VCL'si MS'un MFC gibi. Fakat QT çok daha farklı ve geniştir. Hatta arayüz kütüphanesi dersek belkide haksızlık etmiş oluruz. QT bünyesinde her türlü ihtiyaçı karşılayacak araç ve kütüphanleri barındırır. Temel araçlardan veritabanlarına, grafik araçlarından network'e kadar geniş bir yelpazesi vardır. QT'yi C++, pyhton, java gibi dillerlede kullanılabilirsiniz.

Bu makale, tüm alt sayfalarıda dahil olmak üzere, Creative Commons lisansı ile lisanslanmıştır.
Creative Commons License
This work is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License

Platform Bağımsız : MS Windows, Linux, Mac OS gibi işletim sistemlerinde çalışabilecek şekilde tasarlanmıştır. İşletim sistemine fazla bağlı kalmadığınız sürece kodlarınızı platformlar arasında rahatça taşıyabilirsiniz.

http://trolltech.com/ adresinden en güncel Qt paketlerine ulaşabilirsiniz. QT'nin farklı amaçlar için lisans modelleri mevcuttur. Eğer ticari bir program geliştiriyor ve kodu açmayacaksanız Commercial  sürümünü edinmeniz gerekir. Fakat öyle bir sorununuz yoksa gönül rahatlığı ile GPL sürümünü ücretsiz indirip kullanabilirsiniz. Yalnız tek bir şartla! yazmış olduğunuz programların kodlarınıda GPL lisansına bağlı kalarak dağıtmak zorundasınız.

Ayrıca aşağıdaki kaynakları inceleyebilirsiniz.
    İçindekiler
  1. Bölüm - Hazırlık - Bu bölümde Qt'yi kurup yapılandıracağız.
    1. Kurulum [Linux] - Linux ortamında kurulum ve yapılandırma.
    2. Kurulum [Windows] - Windows ortamında kurulum ve çalıştırma.
  2. Bölüm - Merhaba Dünya - Geleneği bozmuyoruz ve "Merhaba Dünya" ile başlıyoruz.
    1. Ders - 1 - İlk örnek ile başlayalım.
    2. Ders - 2 - Bu derste UI (User Interface) tasarlayıp, run-time (çalışma zamanında) ekranda gösterip merhaba dünya diyeceğiz.
    3. Ders - 3 - Bu derste arayüz dosyası olan .ui dosyasını .h dosyasını çevirip uygulama içinde kullanacağız.
    4. Ders - 4 - Bu derste arayüz sınıfımızı yazmaya başlıyoruz.
  3. Bölüm - IDE (Integrated Development Environment) - Bu bölümde IDE (Integrated Development Environment) yani entegre uygulama geliştirme ortamlarını inceliyoruz.
    1. Eclipse Kurulum - Windows ve Linux ortamında Eclipse kurulumu ve QT4 ile entegrasyonu.
    2. İlk Projemiz - Eclipse ile Qt4 projesi oluşturup merhaba dünya diyeceğiz.
  4. QT Designer Kullanımı - Bu bölümde QT Designer kullanımını öğreneceğiz.
    1. Yeni bir form oluşturma - Yeni bir form oluşturarak işe koyuluyoruz.
  5. Veritabanı - QT ile veritabanı programlama.
    1. Veritabanı bağlantıları - QSqlDatabase sınıfını kullanarak veritabanı bağlantıları oluşturucağız.
    2. SQL Sorgularını Çalıştırma - Sql sorguları çalıştırma, kayıtlar arasında gezinti, kayıt güncelleme, transactions Hazırlanıyor...
ÖncekiSonraki
Bölüm - Hazırlık
Etiketler : qt

'QT ile GUI Programlama' İle İlgili Diğer Yazılar İçin Tıklayın.

7 Yorum
E. Bolat
20.01.2008 - 20:03
Çok güzel dökümanlar var. Mesleğimle alakalı olmasada hobi olarak bende boş vakitlerimde programcılıkla uğraşmaktayım, linuxa da ilgi duyunca ister istemez qt ile tanışıyorsun. Ne yazık ki bu konuda türkçe kaynak konusunda sıkıntılar çekmiş biri olarak yabancı bir dille, bir "dil" öğrenmenin ne demek olduğunu yaşadım/yaşamaktayım.
Keşke sayfanızla daha önce tanışmış olsaydım. Yeni başlayanlar ve benim gibi öğrenmeye devam edenler için önerilecek özenle hazırlanmış çok güzel bir kaynak olmuş. Elinize, emeğinize sağlık. Saygılarımla.
Nesimi ACARCA
20.01.2008 - 20:56
Teşekkürler elimden geldiğince birşeyler yapmaya çalışıyorum yararlandığım kaynaklar ise başta QT4 Assistant olmak üzere QT4 maillist ve QT4 kaynak kodları.

Kodları okumak ingilizce metin okumaktan daha kolay geliyor. Çünkü ingilizcem yok denecek kadar zayıf. Sizin yaşadığınız sıkıntıları bende yaşıyorum, bu konuda Türkçe kaynak bulmak çok zor. Umarım bu makale sayesinde başkaları bu sıkıntıları çekmez.
grkan
14.02.2008 - 21:51
Bilgilendirdiğiniz için teşekkür ederim.
Qt4 ismini çok duymama(pardus pisi den) rağmen ne olduğunu sayenizde öğreniyorum.
Birde OpenGL hakkında bilginiz varsa dinlemeye (okumaya) hazırım.
Nesimi ACARCA
14.02.2008 - 22:52
>Birde OpenGL hakkında bilginiz varsa dinlemeye (okumaya) hazırım.
Rica ederim. OpenGL hakkında pek bir bilgim yok ama bu konu ile ilgili çok güzel örnekler QT4 kaynak kodlarının "examples/opengl" dizininde mevcut.
Murat
15.04.2008 - 11:54
C++'a yeni başlayan ve Visual C++'ı inceleyip nefret eden kıdemli bir VB 6.0 kullanıcısı olarak QT'yi seçmekle (bundan sonraki projemi 7/24 çalışan bir makina için hazırlayacağım için ve "stabil" bir programın benim için şu anda en önemli şey olduğundan) ne kadar doğru bir iş yaptığımı bir kere daha bu yazılanlarla anlamış oluyorum. elleriniz dert görmesin. Tek bir kaygım var.Windows ortamından kalma,"ne kadar şekil o kadar az stabilite" kaygısını QT'nin bu muhteşem arabirimlerini gördükçe az da olsa yaşıyorum. Ama diğer yandan Linux ortamı ve C++ yazılım geliştirme ortamı içimi biraz ferah tutuyor :) Yanılıyor muyum? Bu arada Linux ve QT ikilisi "memory leak" problemi yaşıyor mu acaba? Umarım bende ufak ufak öğrendiklerimi sizinle paylaşabilirim.

Tekrar elleriniz dert görmesin...
Nesimi ACARCA
16.04.2008 - 18:35
@murat
Öncelikle hos geldiniz diyeyim :)
Bence QT o kadar güzel tasarlanmıştır ki bu tur şeyleri kafanıza takmaya pekte gerek yok, çünkü sürekli gelişiyor. Örneğin QT4'un QT3 göre daha hızlı çalıştığını söyleyebilirim. Zaten bunu KDE'de görebiliriz. Söylenenlere göre KDE'nin QT4 sürümü eski sürümlere göre %30-40 daha hızlı çalışıyormuş.

Memory leak konusuna gelince gargabe collection olmadığı için dikkat etmemiz gerekiyor. Ayrıca daha gelişmiş işaretçi tipi için QPointer sınıfını kullanabilirsiniz. Örneğin QPointer<işaretçi değişkeni> gibi

>Umarım bende ufak ufak öğrendiklerimi sizinle paylaşabilirim.
Çok güzel olur, böylece makalenin büyümesine katkı sağlamış olursunuz.
Nesimi ACARCA
06.05.2008 - 16:29
@murat
>Linux ve QT ikilisi "memory leak" problemi yaşıyor mu acaba?
Ayrıca; QWidget tabanlı tüm nesnelerin kapatma( close(); ) işleminden sonra, otomatik olarak bellekten silinmesi için, WidgetAttribute özelliğini kullanabilirsiniz.

QWidget *w = new QWidget;
widget->setAttribute(Qt::WA_DeleteOnClose);


Google
 
En Son Yorumlar (Makaleler)
  • Nesimi ACARCA:QObject::connect(f.ornekButton, SIGNAL(clicked()), 0, SLOT( ornek->show() ) ); &#...
  • Cihan:Merhabalar, öncelikle bu güzel makale için tebrikler... Benim bir so...
  • Muallim:Kardeş Windows'ta denedim her şey güzel de, çalıştırma aşaması nasıl windows'ta ?...
  • Taner Senyurt:Hosgeldin aykut :D...
  • Aykut SAY:Merhabalar. biraz geç oldu ama QT ile bugün ilk kez tanıştım ve bir .Net geliştirici olarak yi...
  • Nesimi ACARCA:Bence tüm yüklemleri silip tekrar deneyin windows için http://www....
  • Doğugün Özkaya:kullandığım qt 4.3.4 olduğundan sanırım; "bin" klasörünün içinde qmake, uic ya da ...
  • Nesimi ACARCA:@Doğugün özkaya >bu bin path i nasıl tanımlayabilirim? Kurulum ...
  • Doğugün özkaya:maaalesef bende preference page de bin path i belirtilen ekilde girdiğimde hata veriyor. "bin p...
  • Yiğit Ağaoğlu:Linux altında Qt Eclipse integration oldukça sorunlu. Devamlı problem çıkartıyor. Onun yerine ...
Sponsor Bağlantı