Qt (çalışma alanı)

Qt, birden çok platformu destekleyen bir grafiksel kullanıcı arayüzü geliştirme araç takımıdır. Genellikle GUI programları geliştirmek için kullanılsa da gelişmiş kütüphanesi GUI bileşenlerinin dışında birçok araç içermektedir. Qt, en çok KDE masaüstü ortamında, Opera ağ tarayıcısında ve Skype anlık mesajlaşma programlarında kullanılmasıyla bilinir.

Qt
Geliştirici(ler)Qt Group (Nasdaq Helsinki: QTCOM)
Güncel sürüm6.7 [1] / 2 Nisan 2024
İşletim sistemiÇok Platformlu
PlatformÇok Platformlu
TürUygulama Çatısı
LisansGNU LGPL 2.1
GNU GPL 3, bazı özel istisnalar içerir.
Ticari Geliştirici Lisansı
Resmî sitesiqt.io/
Kod deposu Bunu Vikiveri'de düzenleyin

Qt, C++ kullansa da, farklı dillere olan bağlantıları sayesinde Python, Ruby, PHP, Perl, Pascal, C# ve Java ile de kullanılabilir.

Yazılım Geliştirme Kiti olarak dağıtılan Qt, kurulduğunda birçok örnek uygulama ile birlikte gelmektedir. Yeni Tümleşik Geliştirme Ortamı olan Qt Creator sayesinde geliştirme süreci büyük ölçüde hızlandırılmıştır.

Geçmiş

değiştir
Sürüm Tarih
1.4 10 Temmuz 1998
1.41 2 Ekim 1998
1.42 19 Aralık 1998
1.44 13 Mart 1999
2 26 Haziran 1999
2.1 13 Nisan 2000
2.2 7 Aralık 2000
2.3 8 Mart 2001
3 16 Ekim 2001
3.1 14 Kasım 2001
3.2 24 Temmuz 2003
3.3 5 Şubat 2004
4 29 Haziran 2005
4.1 20 Aralık 2005
4.2 4 Ekim 2006
4.3 30 Mayıs 2007
4.4 6 Mayıs 2008
4.5 3 Mart 2009
4.6 1 Aralık 2009
4.6.3 8 Haziran 2010
4.7 21 Eylül 2010
4.7.1 9 Kasım 2010
4.7.2 1 Mart 2011
4.7.3 4 Mayıs 2011
4.7.4 1 Eylül 2011
4.8 15 Aralık 2011
4.8.1 28 Mart 2012
4.8.2 22 Mayıs 2012
5 19 Aralık 2012
5.0.2 9 Nisan 2013
5.1.1 3 Temmuz 2013
5.2 12 Aralık 2013
5.2.1 5 Şubat 2014
5.3 20 Mayıs 2014
5.3.1 25 Haziran 2014
5.3.2 16 Eylül 2014
5.4 10 Aralık 2014
5.4.1 24 Şubat 2015
5.4.2 2 Haziran 2015
5.5 1 Temmuz 2015
5.5.1 15 Ekim 2015
5.6 16 Mart 2016
5.6.1 8 Haziran 2016
5.6.2 12 Ekim 2016
5.6.3 21 Eylül 2017
5.7 16 Haziran 2016
5.7.1 14 Aralık 2016
5.8 23 Ocak 2017
5.9 31 Mayıs 2017
5.9.1 30 Haziran 2017
5.9.2 6 Ekim 2017
5.9.3 22 Kasım 2017
5.9.4 23 Ocak 2018
5.9.5 12 Nisan 2018
5.9.6 11 Haziran 2018
5.9.7 23 Ekim 2018
5.9.8 18 Nisan 2019
5.9.9 17 Aralık 2019
5.10 7 Aralık 2017
5.10.1 13 Şubat 2018
5.11 22 Mayıs 2018
5.11.1 19 Haziran 2018
5.11.2 20 Eylül 2019
5.11.3 4 Aralık 2018
5.12 6 Aralık 2018
5.12.1 1 Şubat 2019
5.12.2 15 Mart 2019
5.12.3 17 Nisan 2019
5.12.4 17 Haziran 2019
5.12.5 11 Eylül 2019
5.12.6 13 Kasım 2019
5.12.7 31 Ocak 2020
5.13 19 Haziran 2019
5.13.1 5 Eylül 2019
5.13.2 31 Ekim 2019
5.14 12 Aralık 2019
5.14.1 27 Ocak 2020
5.15 26 Mayıs 2020

Nokia'nın, Qt'nin orijinal geliştiricisi olan Norveçli firma Trolltech'i satın almasıyla oluşan Qt Programlama Çatısı birimi tarafından geliştirilmektedir. Dikkatleri ilk kez KDE masaüstü ortamının bu araç takımını kullanması ile çekmiştir. İlk sürümleri özgür olmayan bir lisansla dağıtılmaktadır. Linux gibi hızla büyüyen bir özgür işletim sisteminin en popüler masaüstü ortamının özgür olmayan bir araç takımı kullanması elbette hoş karşılanmamıştır. Tepki olarak GTK+ kullanarak GNOME masaüstü geliştirilmeye başlanmıştır. Bununla birlikte Harmony denen ve Qt'ye benzeyen bir araç takımı da geliştirilmeye başlanmıştır.

Trolltech, bu tepkilere karşı Qt'yi QPL denen, GPL benzeri bir lisansla yayınlamıştır. Bunu da beğenmeyen özgür yazılım takipçileri sonunda Trolltech'e Qt'yi GPL olarak dağıtmasından başka çare bırakmamıştır. Eğer olur da Trolltech'in başına bir şey gelirse diye, hem Qt hem de KDE kütüphanelerinin gelişimini devir alacak KDE Free Qt Foundation kurulmuştur.

Qt, dördüncü sürümüne kadar Windows platformu üzerinde GPL olarak dağıtılmıyordu. Dördüncü sürümle birlikte Windows için de GPL lisanslı dağıtılmaya başlandı. Bu sürüm ile de GUI olmadan, konsol uygulamaları geliştirilebilir hale gelmiştir.

Qt'nin GPL sürümü ile geliştirilen uygulamalar mutlaka GPL olarak lisanslanmalıdır. Farklı lisanslama yapmak için Qt'nin ücretli sürümleri kullanılabilir.

Nokia tarafından satın alınan Trolltech firması QT'yi 4.5 sürümünden itibaren LGPL lisansı altında dağıtmaya başlamıştır, böylelikle Qt, ticarî yazılımlarda para ödenmeden kullanılabilmektedir.

Platformlar

değiştir
  • Qt/X11 - X Pencere Sistemi için
  • Qt/Mac - Apple Mac OS X için
  • Qt/Windows - Microsoft Windows için
  • Qt/BB10 - BlackBerry 10 için
  • Qt/Embedded - Gömülü sistemlerde geliştirmek için
  • Qt/Jambi - Java ortamında geliştirmek için
  • Qt/Windows CE / Mobile - Windows CE için
  • Qt/Symbian - Symbian OS için
  • Qt/Maemo - Maemo için
  • Qt/Android - Android için (Önizleme sürümü)
  • Qt/IOS - IOS için (Önizleme sürümü)

Diğer platformlar

değiştir

Nokia'nın doğrudan desteklemediği, fakat Gitorious üstünden halka açık geliştirilen sürümleri:

Moduller

değiştir
  • QtCore Diğer modüller tarafından kullanılan çekirdek grafiksel olmayan sınıf
    • QtGui Grafik kullanıcı arayüzü (GUI) bileşenleri
    • QtMultimedia Düşük seviye multimedya işlevleri için sınıflar
    • QtNetwork Ağ programlama için sınıflar
    • QtOpenGL OpenGL desteği sınıfları
    • QtOpenVG OpenVG destek sınıfları
    • QtScript Qt scriptleri değerlendirmek için Sınıflar
    • QtScriptTools Qt script ek bileşenleri
    • QtSql SQL kullanarak veritabanı entegrasyonu için sınıflar
    • QtSvg SVG dosyalarının içeriğini göstermek için sınıflar
    • QtWebKit Web içeriğini görüntülemek ve düzenlemek için Sınıflar
    • QtXml XML işleme için Sınıflar
    • QtXmlPatterns XML ve özel veri modelleri için XQuery & XPath motoru
    • Phonon Multimedya çerçeve sınıfları
    • Qt3Support Qt 3 uyumluluğu sınıfları
    • QtDeclarative
  • Qt 5 ile getirilmesi planlanan yeni modüller [4]
    • QtBluetooth Bluetooth cihazla etkileşim için sınıflar
    • QtContacts Kişilerinizi yönetmek için sınıflar
    • QtLocation Konumlandırma, harita, navigasyon ve yer arama için sınıflar
    • QtOrganizer Takvim olaylarını yönetmek için sınıflar
    • QtPrintSupport Yazdırma için sınıflar
    • QtPublishSubscribe Bildirimlere abonelik için basitleştirme mekanizması
    • QtSensors Donanım sensörleri okuma sınıfları
    • QtServiceFramework Servisleri oluşturmak ve başlatmak için sınıflar
    • QtSystemInfo Bir aygıt hakkındaki bilgilere erişmek için sınıflar
    • QtVersit Versit yönetmek için sınıflar
    • QtWidgets Widget geliştirme sınıfları
    • Qt3D 3D API için elemanlar ve sınıflar
  • Qt araçları ile çalışmak için modüller
    • QtDesigner
    • QtUiTools
    • QtHelp
    • QtTest
  • Unix geliştiricileri için modüller
    • QtDBus
  • Windows geliştiricileri için modüller
    • QAxContainer
    • QAxServer

Farklı lisanslı sürümleri

değiştir

(Bilgilerin eksik olması muhtemeldir)

  • Qt Console - GUI olmadan geliştirme için
  • Qt Desktop Light - Başlangıç GUI geliştirme için, veritabanı ve ağ desteği yoktur
  • Qt Desktop - Tam sürüm
  • Qt Open Source Edition - Tam sürüm, özgür yazılım geliştiricileri için

Qt araçları

değiştir
  • Qt Creator - kodlama, GUI tasarımı, belgelendirme görüntüleme, hata ayıklama gibi işlemleri gerçekleyen Tümleşik Geliştirme Ortamı
  • Qt Designer - grafik arabirim tasarımı yapmak için kullanılan bir araç
  • Qt Linguist - Qt uygulamalarının diğer lisanlara çevrilmesi için kullanılan program
  • Qt Assistant - geliştirme aşamasında kullanılabilen belge görüntüleyici program
  • Qt Visual Studio Add-in - Visual Studio içinden qt kullanmak için eklenti
  • Qt Eclipse Integration - Eclipse (yazılım) eklentisi

Kaynakça

değiştir
  1. ^ "Qt 6.7 Released!". 2 Nisan 2024 tarihinde kaynağından arşivlendi. Erişim tarihi: 2 Nisan 2024. 
  2. ^ "Qt Android Çatalı". 26 Ocak 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2011. 
  3. ^ "Slashdot:Android için Qt". 13 Ağustos 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 12 Ağustos 2011. 
  4. ^ "Qt 5 modülleri". 29 Aralık 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Mart 2012. 

Dış bağlantılar

değiştir
  NODES