Muhammet Kara

Linux, Özgür Yazılım, Yerelleştirme, Programlama, LibreOffice, C++ ve daha başka şeyler üzerine karalamalarım

Qt5 Araç Takımına Giriş

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.

Qt5 Logo

Qt5 hakkında başlangıç düzeyinde bilgi vermeye (ve öğrenmeye) çalışacağım ders dizisinin ilki olan bu derste Qt5 kitaplığına giriş yapmaya çalışacağım. Bu kısımda Qt5 kitaplığını Debian üzerinde kurup ilk küçük Qt5 uygulamamızı oluşturacağız.

İlk olarak Norveçli bir yazılım firması olan Trolltech tarafından geliştirilen Qt, daha sonra önce Nokia ve ardından da Finlandiyalı Digia şirketi tarafından satın alındı. Halen hem Digia hem de açık kaynaklı Qt Projesi tarafından geliştirilmeye devam ediyor. Açık kaynaklı Qt araç takımının web sitesine qt.io adresinden ulaşabilirsiniz.

Qt

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. Ayrıca Qt ile geliştirilmiş diğer birçok uygulamadan bazıları şunlardır: Google Earth, VLC, Maya, Mathematica.

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 Takımı 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.

Dağıtım Paketlerinden Kurulum

Qt’yi kendi Linux dağıtımınızın paket yönetim sistemini kullanarak kurmak genellikle daha kolay ve hızlıdır fakat bu paketlerin en güncel Qt sürümünü taşımayabileceğini unutmayın. Debian temelli dağıtımlarda Qt5’i kurmak için uçbirimde (terminal) şu komutu verebilirsiniz:

sudo apt-get update
sudo apt-get install qt5-default

An itibariyle Debian stretch paketleri en güncel Qt5 sürümüyle (5.5.1) geliyor.

Kaynak Kodundan Kurulum

Eğer kullandığınız Linux dağıtımının paketleri güncel sürümü sağlamıyorsa Qt5’in en güncel kaynak kodlarını web sitesinden indirip derleyerek kurulum yapabilirsiniz, fakat bu sürecin biraz uzun (işlemci hızınıza bağlı olarak birkaç saat) sürebileceğini ve fazlaca boş disk alanı gerektireceğini unutmayın.

Öncelikle Qt kaynak kodlarını download.qt.io/official_releases/qt/ adresinden indirip arşiv dosyasını aşağıdaki komutla diske açıyoruz:

tar -xzvf qt-everywhere-opensource-src-5.5.1.tar.gz

Bu komut, arşivdeki dosyaları qt-everywhere-opensource-src-5.5.1 adlı klasöre açacaktır. Bu klasör içindeki README dosyasında bulunan yönergeleri takip ederek kurulumu gerçekleştirebilirsiniz.

Sürüm

İlk programımız, kurulu Qt5 kitaplığının sürümünü ekrana basar.

//surum.cpp
#include <QtCore>
#inclede <iostream>

int main()
{
  std::cout << "Qt sürümü: " << qVersion() << std:endl;
}

Burada qVersion() fonksiyonu, çalışma zamanında Qt sürümünü dizge (string) olarak verir. Yazdığımız kodu surum.cpp adıyla kaydettikten sonra şu komutla derliyoruz:

g++ -o surum surum.cpp -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5
-L/usr/lib/x86_64-linux-gnu/qt5 -lQt5Core -fPIC

Burada -I ve -L ile belirtilen kitaplıklar sizin sisteminizde farklı konumlarda olabilir. Doğru konumu bulmak için find komutunu kullanabilirsiniz. Örneğin:

find / -name ‘qt5’

Derleme sonrasında programımızı çalıştırdığımızda, mevcut Qt sürümümüzü ekrana basacaktır:

./surum
Qt sürümü: 5.5.1

Küçük Bir GUI Uygulaması

Görsel arayüze sahip küçük bir uygulama yazmayı deneyelim. Uygulamamız basit bir pencereden ibaret olacak.

//basit.cpp
#include <QApplication>
#include <QWidget>

int main(int argc, char * argv[])
{
  QApplication uygulama(argc, argv);

  QWidget pencere;

  pencere.resize(250, 150);
  pencere.setWindowTitle("Basit Örnek");
  pencere.show();

  return uygulama.exec();
}

Bu örneği derlemek için qmake aracını kullanacağız. Aşağıdaki komutu kullanarak .pro uzantılı bir proje dosyası oluşturalım:

qmake -project

Oluşan dosyanın içeriği şuna benzeyecektir:

######################################################################
# Automatically generated by qmake (3.0) Paz Eyl 06 14:39:15 2015
######################################################################

TEMPLATE = app
TARGET = basit
INCLUDEPATH += .

# Input
SOURCES += basit.cpp

QT += widgets

Burada, Qt Widgets modülü öntanımlı olarak projeye eklenmediği için dosyanın sonuna kendimiz ekledik.

Şimdi ise qmake komutuyla Makefile dosyasını oluşturup make komutuyla programımızı derliyoruz. Artık uçbirimde

./basit

komutunu vererek ya da ilgili klasördeki ‘basit’ isimli ikili dosyaya çift tıklayarak programımızı çalıştırabiliriz.

Qt Basit Örnek Pencere Ekran Görüntüsü

Tebrikler! Qt5 kitaplığına giriş yapmış oldunuz. :)

Kaynakça

  1. http://zetcode.com/gui/qt5/introduction/
  2. https://tr.wikipedia.org/wiki/Qt_(çalışma_alanı)