Qt Temelleri Eren BAŞTÜRK basturkeren@gmail.com www.erenbasturk.com
Giriş Qt Gelişim Süreci Merhaba Dünya Uygulaması Qt Creator İle Merhaba Dünya Uygulaması Qt ile Uygulama Geliştirme
Bölüm İçeriği Öğrenecekleriniz...... Qt nin Tarihsel Süreci... Qt Çalışma Sistemi... Qt'ye Üst Düzey Bir Bakış... Merhaba Dünya Uygulaması Hazırlama... Yazılımları Derleme ve Çalıştırma... Qt Creator IDE Kullanımı... Qt İle Pratik Uygulamalar
Qt Gelişim Süreci Giriş Qt Gelişim Süreci Qt Gelişim Süreci Merhaba Dünya Uygulaması Qt Creator İle Merhaba Dünya Uygulaması Qt ile Uygulama Geliştirme
Qt'yi Tanıyalım Qt Gelişim Süreci Qt 1994 Yılında Geliştirilmeye Başlanmıştır Trolltech 2008 Yılında Nokia Tarafından Satın Alındı Dünya Genelinde 8 Bölgede 250'den Fazla Çalışan Dünya Genelinde 6500'den Fazla Şirket Qt'ye Güveniyor Qt: Çapraz Platform Uygulama ve UI Sistemleri Masaüstü, Mobil ve Gömülü Sistem Uygulamaları 350.000'nin Üzerinde Ticari ve Açık Kaynak Uygulama Geliştiricileri Tarafından Kullanıldı Qt Danışmanlık,Destek ve Eğitim Hizmetlerini vermektedir
Qt Heryerde Kullanılır Qt Gelişim Süreci Gömülü Cihazlardan Masaüstü Uygulamalara Birçok Sektörden Birçok Firmaya
Qt Döngüsü Qt Gelişim Süreci
Neden Qt? Qt Gelişim Süreci Bir defa kod yaz birçok platformda çalıştır Etkili ve yüksek performanslı yazılımlar üret Yenilik odaklı çalışır Uygun lisansları seçebilirsiniz -Commercial -LGPL -GPL Profesyonel hizmet, destek ve eğitim
Qt Mimarisi Qt Gelişim Süreci
Merhaba Dünya Uygulaması Giriş Qt Gelişim Süreci Merhaba Dünya Uygulaması Qt Creator IDE Qt ile Uygulama Geliştirme
Qt Merhaba Dünya Uygulaması Merhaba Dünya Uygulaması // main.cpp #include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton button("merhaba Dunya"); button.show(); return app.exec(); } Program İçeriği -main.cpp -merhabadunya.pro
Proje Dosyası - merhabadunya.pro Merhaba Dünya Uygulaması Merhabadunya.pro dosyası Kaynak ve başlık dosya listesini bulundurur Proje Konfigürasyonunu sağlar # Dosya: helloworld.pro SOURCES = main.cpp HEADERS += # Başlık dosyası kullanılmadı Degişkenlere atama... Kullanılabilecek operatörler =, +=, -=
Qmake Kullanımı Merhaba Dünya Uygulaması Qmake aracı Çapraz Platform make-file dosyası üretir Projeyi qmake ile derle cd merhabadunya.../qmake -project.../qmake Make./merhaba dunya
Qt Creator IDE Giriş Qt Gelişim Süreci Merhaba Dünya Uygulaması Qt Creator İle Merhaba Dünya Uygulaması Qt ile Uygulama Geliştirme
Qt Creator IDE Özellikleri Qt Creator İle Merhaba Dünya Uygulaması -Gelişmiş C++ kod editörü -Tümleşik gui yerleşimi ve form tasarımı -Proje ve derleme araçları -İçeriğe duyarlı yardım sistemi -Görsel Hata Açıklayıcı -Hızlı kod gezinme araçları -Birçok platform için destek
Qt Creator IDE Özellikleri Qt Creator İle Merhaba Dünya Uygulaması
Kod Konumu Bulma Qt Creator İle Merhaba Dünya Uygulaması Kod bulucuyu başlatmak için ctrl+k Dosya adını yaz
Uygulamalarda Hata Ayıklama Qt Creator İle Merhaba Dünya Uygulaması Hata ayıklama -> Start Debugging (F5)
Ne Kadar C++ Bilmelisiniz? Qt Creator İle Merhaba Dünya Uygulaması -Nesne ve sınıf yapısı Sınıf bildirimi, kalıtım,fonksiyon çağırma, vb -Polimorfizm Sanal metotlar -Operatörlere Aşırı Yükleme -Şablonlar Sadece container sınıfı -Karmaşık şablonlar -Özel durumlar, RTTI
Qt Dökümantasyonu Qt Creator İle Merhaba Dünya Uygulaması Referans Dökümanlar -Tüm sınıfların dökümanları -Geniş içeriğe sahip örnekler -Nasıl öğreniceğinize dair dökümanlar -Yeni başlayanlar için programlama örnekleri
Sorunlarınıza Çözümler Qt Creator İle Merhaba Dünya Uygulaması -Qt assistant (yada qt creator) -Qt örnekleri (Qt Klasörü/examples) -Qt Geliştirici Ağı http://developer.qt.nokia.com/ -Ana qt forumu http://www.qtcentre.org/ -Kde projesinin kaynak kodları http://lxr.kde.org/ Kaynak Kodları İncele!!! Qt'de cevap bulamadığınız sorular için kodları kamuya açılmış projeleri inceleyebilirsiniz.
Modüller ve Dahil Edilen Dosyalar Qt Creator İle Merhaba Dünya Uygulaması Qt Modülleri QtCore, QtGui, QtXml, QtSql,QtNetwork, Modülleri qmake İle etkinleştirin (.pro) Qt += network Temel Projelerde QtCore ve QtGui Bazı Qt sınıf başlık dosyaları #include <QLabel> #include <QtGui/QLabel> Bazı Qt Modül başlık dosyaları #include <QtGui>
Dahil Edilen Dosyalar ve Derleme Zamanı Qt Creator İle Merhaba Dünya Uygulaması Modül Dahil Etme #İnclude <Gui> Derlenmiş Başlık Dosyaları ve Derleyici -Sınıfları derleme vaktine göre uzun derleme süresi Sınıf Dahil Etme #include <QLabel> -Derleme Süresini Düşür Sınıfları dahil et (#include <Qlabel>) Bildirimleri ilet (class QLabel;)
Sorular ve Cevaplar Qt Nedir? Minimal bir qt uygulaması için hangi kod satırlarına ihtiyacım var?.pro dosyası nedir? Qmake nedir ve ne zaman qmake'i kullanmalıyım? Qt modülü nedir ve projeye nasıl dahil edebilirim? Qt Gui modülünden Qlabel'ı projeye nasıl dahil ederim? Başka bir soru?
Sorular ve Cevaplar Qt Nedir? Minimal bir qt uygulaması için hangi kod satırlarına ihtiyacım var?.pro dosyası nedir? Qmake nedir ve ne zaman qmake'i kullanmalıyım? Qt modülü nedir ve projeye nasıl dahil edebilirim? Qt Gui modülünden Qlabel'ı projeye nasıl dahil ederim? Başka bir soru?
Sorular ve Cevaplar Qt Nedir? Minimal bir qt uygulaması için hangi kod satırlarına ihtiyacım var?.pro dosyası nedir? Qmake nedir ve ne zaman qmake'i kullanmalıyım? Qt modülü nedir ve projeye nasıl dahil edebilirim? Qt Gui modülünden Qlabel'ı projeye nasıl dahil ederim? Başka bir soru?
Sorular ve Cevaplar Qt Nedir? Minimal bir qt uygulaması için hangi kod satırlarına ihtiyacım var?.pro dosyası nedir? Qmake nedir ve ne zaman qmake'i kullanmalıyım? Qt modülü nedir ve projeye nasıl dahil edebilirim? Qt Gui modülünden Qlabel'ı projeye nasıl dahil ederim? Başka bir soru?
Sorular ve Cevaplar Qt Nedir? Minimal bir qt uygulaması için hangi kod satırlarına ihtiyacım var?.pro dosyası nedir? Qmake nedir ve ne zaman qmake'i kullanmalıyım? Qt modülü nedir ve projeye nasıl dahil edebilirim? Qt Gui modülünden Qlabel'ı projeye nasıl dahil ederim? Başka bir soru?
Sorular ve Cevaplar Qt Nedir? Minimal bir qt uygulaması için hangi kod satırlarına ihtiyacım var?.pro dosyası nedir? Qmake nedir ve ne zaman qmake'i kullanmalıyım? Qt modülü nedir ve projeye nasıl dahil edebilirim? Qt Gui modülünden Qlabel'ı projeye nasıl dahil ederim? Başka bir soru?
Sorular ve Cevaplar Qt Nedir? Minimal bir qt uygulaması için hangi kod satırlarına ihtiyacım var?.pro dosyası nedir? Qmake nedir ve ne zaman qmake'i kullanmalıyım? Qt modülü nedir ve projeye nasıl dahil edebilirim? Qt Gui modülünden Qlabel'ı projeye nasıl dahil ederim? Başka bir soru?
Sorular ve Cevaplar Qt Nedir? Minimal bir qt uygulaması için hangi kod satırlarına ihtiyacım var?.pro dosyası nedir? Qmake nedir ve ne zaman qmake'i kullanmalıyım? Qt modülü nedir ve projeye nasıl dahil edebilirim? Qt Gui modülünden Qlabel'ı projeye nasıl dahil ederim? Başka bir soru?
Son Teşekkürler