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üm 5.14.1 [1] / 27 Ocak 2020
İşletim sistemi Çok Platformlu
Platform Çok Platformlu
Tür Uygulama Çatısı
Lisans GNU LGPL 2.1
GNU GPL 3, bazı özel istisnalar içerir.
Ticari Geliştirici Lisansı
Resmî sitesi qt.io/
Kod deposu

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ş

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

  • 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

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

  • Qt for OpenSolarisOpenSolaris için
  • Qt for HaikuHaiku için
  • Qt for OS/2OS/2 eCS platform için
  • Qt for Amiga OS4Amiga OS4 için
  • Qt-iPhoneiPhone için
  • Android-LighthouseAndroid.[2]
  • Qt for webOSPalm Pre üstünde webOS için
  • Qt for Amazon Kindle DXAmazon Kindle DX
  • Qt for WaylandWayland Görüntü Sunucusu
  • Necessitas - Android için [3]

Moduller

  • 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

(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ı

  • 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

  1. Qt 5.14.1 Sürümü
  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
  4. "Qt 5 modülleri". 29 Aralık 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 18 Mart 2012.

Dış bağlantılar

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.