QT C++ EĞİTİMİ
Qt C++ Eğitimi, masaüstü ve gömülü dünyada uzun yıllardır kullanılan Qt ekosistemiyle modern C++ uygulamaları geliştirme becerisi kazandırır. Katılımcılar, proje yapısını doğru kurmayı, UI geliştirmeyi ve bakım maliyeti düşük uygulamalar tasarlamayı pratiklerle öğrenir.
Eğitim boyunca Qt’nin temel sınıfları, sinyal-slot mantığı, bellek yönetimi, olay döngüsü ve modüler mimari yaklaşımı ele alınır. Takımın mevcut kod standartlarına uyumlu örneklerle, geliştirme sürecinde hız ve kaliteyi artıracak teknikler kalıcı hale getirilir.
Katılımcı Profili
Qt ile C++ uygulama geliştirmeyi sistematik ve sürdürülebilir şekilde öğrenmek isteyen ekipler için uygundur:
- C++ geliştiriciler: Qt ile UI geliştirmeyi öğrenmek
- Masaüstü uygulama geliştiriciler: Uygulama mimarisini güçlendirmek
- Gömülü yazılımcılar: Qt tabanlı arayüzleri yönetmek
- Takım liderleri: Kod standardı ve kaliteyi yükseltmek
- Test mühendisleri: Qt projelerinde test yaklaşımını kavramak
Ön Gereklilikler
Bu eğitimden maksimum verim almak için aşağıdaki ön koşullar önerilir:
- Temel düzeyde C++ sözdizimi ve OOP bilgisi
- Fonksiyon, sınıf, pointer/reference kavramlarına aşinalık
- Temel seviyede Git kullanımı ve proje klasör yapısı bilgisi
- Basit derleme mantığı (compiler, linker) konusunda farkındalık
- Windows / Linux ortamında geliştirme yapma deneyimi
Süresi ve Tarihi
Süre: 4 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.
Kazanımlar
Eğitim sonunda katılımcılar, Qt ekosisteminde güvenilir ve bakımı kolay C++ uygulamaları geliştirmek için gerekli temel bilgi ve pratiklere sahip olur:
- Qt proje yapısını kurar ve modüler şekilde yönetir
- Sinyal-slot ve event loop mantığını doğru uygular
- Qt Widgets ile etkili masaüstü arayüzleri geliştirir
- Model/View yaklaşımıyla veri odaklı ekranlar tasarlar
- QML ile modern UI geliştirme mantığını kavrar
- Debugging ve profiling ile performans sorunlarını analiz eder
- CMake ile sürdürülebilir derleme altyapısı oluşturur
- Test ve paketleme adımlarıyla teslim sürecini olgunlaştırır
Qt C++ Eğitimi Konuları
1. Qt C++ Eğitimi - Qt Ekosistemi ve Kurulum
- Qt sürümleri ve modüllerinin genel yapısı
- Qt Creator kurulumu ile temel geliştirme ayarları
- Derleyici seçimi, kit yapılandırması ve ilk proje oluşturma
- Proje klasör yapısı ve kaynak dosyaları yönetimi
- Çalışma ortamında üretkenliği artıran IDE kısayolları
2. Qt C++ Eğitimi - Qt Core Temelleri
- QObject temeli ve yaşam döngüsü yönetimi
- QString, QByteArray ve dönüşüm stratejileri
- QList, QVector ve QMap ile veri yapıları kullanımı
- Dosya sistemi işlemleri için QFile ve QDir kullanımı
- Uygulama ayarları için QSettings ile kalıcılık sağlama
3. Sinyal-Slot Mekanizması ve Event Loop
- Sinyal ve slot yapısının temel çalışma mantığı
- Bağlantı türleri ile senkron ve asenkron iletişim
- Event loop akışı ve olayların sırayla işlenmesi
- Timer kullanımı ile periyodik işlerin planlanması
- UI kilitlenmesini önleyen doğru thread yaklaşımı
4. Bellek Yönetimi ve Nesne Sahipliği
- Parent-child ilişkisi ile otomatik bellek temizliği
- Qt smart pointer seçenekleri ve kullanım senaryoları
- RAII yaklaşımıyla güvenli kaynak yönetimi sağlama
- Nesne ömrünü etkileyen sinyal-slot bağlantı kuralları
- Sızıntı analizi ve tipik bellek hatalarını yakalama
5. Qt Proje Yapısı ve Modüler Mimari
- Projeyi katmanlara ayırarak bağımlılıkları azaltma
- Library ve plugin mantığı ile genişletilebilir yapı kurma
- Header dosyaları, include düzeni ve derleme hızını artırma
- Ortak kodun yeniden kullanımını sağlayan proje organizasyonu
- Build yapılandırmalarında Debug ve Release stratejileri
6. Qt Widgets ile Arayüz Geliştirme Temelleri
- Widget hiyerarşisi ve layout kullanım mantığı
- Signals ile UI etkileşimini güvenli şekilde bağlama
- Form tasarımcısı ve manuel UI kodu karşılaştırması
- Input kontrolü için validator ve mask kullanımı
- UI durum yönetimi ile tutarlı kullanıcı deneyimi sağlama
7. Dialoglar, Pencereler ve Navigasyon
- QMainWindow ve temel pencere bileşenleri
- Modal ve modeless dialog kullanımı farkları
- Menü ve toolbar yapısı ile aksiyon tasarımı
- Stacked widget ile ekranlar arası geçiş yönetimi
- Klavye kısayolları ile erişilebilirlik geliştirme
8. Model/View Mimarisi ile Veri Gösterimi
- Model-View yaklaşımının neden ve nasıl kullanıldığı
- QAbstractItemModel temeli ve veri sağlama kuralları
- QTableView ile tablo ekranlarını verimli yönetme
- Delegate kullanımı ile hücre davranışlarını özelleştirme
- Filtreleme ve sıralama ile kullanıcı deneyimini güçlendirme
9. Dosya, JSON ve Serileştirme İşlemleri
- QFile ile okuma yazma işlemlerini güvenli yürütme
- QJsonDocument ile JSON parse ve üretim yöntemleri
- Veri aktarımında hata yönetimi ve doğrulama stratejileri
- Stream yaklaşımı ile büyük dosyaları verimli işleme
- Konfigürasyon dosyaları için sürdürülebilir format seçimi
10. Ağ Programlama: HTTP ve API Entegrasyonu
- QNetworkAccessManager ile istek akışını kurma
- GET ve POST istekleri ile temel API entegrasyonu
- Asenkron yanıt yönetimi ve hata senaryolarını ele alma
- Timeout ve retry stratejileri ile kararlı iletişim sağlama
- JSON yanıtlarını parse ederek UI ile güvenli eşleme
11. Threading ve Eşzamanlılık
- Thread ihtiyacını doğru analiz ederek karar verme
- QThread ile arka plan işlerini güvenli yürütme
- Worker pattern ile UI ve iş mantığını ayırma
- Signal-slot ile thread arası iletişimi düzenleme
- Race condition risklerini azaltan veri paylaşımı yöntemleri
12. Debugging, Logging ve Hata Yönetimi
- Qt Creator debugger ile akış problemlerini bulma
- QLoggingCategory ile kontrollü log seviyeleri kurma
- Hata mesajlarını izlenebilir ve anlaşılır hale getirme
- Exception ve Qt hata modellerini birlikte değerlendirme
- Sorunların tekrarlanabilirliğini artıran debug stratejileri
13. Performans Analizi ve Profiling
- Performans ölçümü için doğru metrikleri seçme
- Qt Creator profiler ile darboğazları tespit etme
- Model/View performansını artıran veri güncelleme yöntemleri
- UI render maliyetini azaltan düzen ve güncelleme yaklaşımı
- Bellek ve CPU kullanımında iyileştirme odaklı karar alma
14. Test Yaklaşımı ve Otomasyon Temelleri
- Qt Test modülü ile test senaryoları yazma
- UI bağımlılıklarını azaltan test edilebilir tasarım kurma
- Mock yaklaşımı ile dış bağımlılıkları kontrol altına alma
- CI ortamında test çalıştırmayı kolaylaştıran yapılandırma
- Hataları erken yakalayan test kapsamı stratejileri
15. Dağıtım, Paketleme ve Sürümleme
- Qt uygulamalarında bağımlılıkları doğru paketleme
- Platform farklarını yöneterek tutarlı dağıtım sağlama
- Release notları ve sürümleme planı ile izlenebilirlik oluşturma
- Kurulum paketleri için temel stratejiler ve dikkat noktaları
- Üretim ortamında hata takibi için hazırlık yapma
16. Ek Modül: Qt Widgets ile Masaüstü UI
- Kompleks ekranlarda layout stratejisi ve yeniden kullanılabilir bileşenler
- Tab, splitter ve dock widget ile esnek UI düzenleri kurma
- Custom widget geliştirme ile standart bileşenleri genişletme
- Stil yönetimi için palette ve stylesheet kullanım dengesi
- UI davranışlarını iyileştiren event handling pratikleri
17. Ek Modül: Qt Quick / QML ile Modern UI
- QML bileşen mantığı ve temel söz dizimi yaklaşımı
- Qt Quick Controls ile hızlı arayüz prototipleme
- C++ ile QML veri bağlama ve sinyal yönetimi
- State ve animation ile akıcı kullanıcı deneyimi oluşturma
- Performansı koruyan QML yapılandırma ve optimizasyon yöntemleri
18. Ek Modül: CMake ile Qt Proje Yapılandırma
- CMakeLists yapısı ve hedef tanımı ile düzenli kurulum
- Qt paketlerinin find_package ile entegre edilmesi
- Kaynak yönetimi ve otomatik MOC/UIC/RCC süreçleri
- Çoklu platform için build ayarlarını sürdürülebilir kılma
- Harici kütüphane bağımlılıklarını yöneterek derleme kararlılığı sağlama
Qt C++ Eğitimi ile İlgili
Sıkça Sorulan Sorular ve Cevapları
Qt ile C++ uygulama geliştirirken sinyal-slot yapısını nasıl doğru kullanırız?
Eğitimde bağlantı türleri, yaşam döngüsü etkileri ve thread senaryolarıyla birlikte sinyal-slot kullanımını ele alırız. Doğru yerde doğru bağlantı tipini seçerek bakım maliyetini azaltan pratikler uygulanır.
Qt Widgets ile geliştirilen arayüzlerde ölçeklenebilir mimari nasıl kurulur?
Layout stratejileri, yeniden kullanılabilir bileşen tasarımı ve ekranlar arası navigasyon yaklaşımı üzerinden ilerleriz. Model/View ve katmanlı yapı ile büyüyen projelerde sürdürülebilirlik sağlanır.
Qt projelerinde performans problemlerini tespit etmek için hangi yöntemleri kullanırız?
Profiling yaklaşımı, UI render maliyeti, veri güncelleme stratejileri ve bellek analizi üzerinden ilerleriz. Ölçüm odaklı karar vermeyi sağlayan araçlar ve teknikler uygulamalı anlatılır.
CMake ile Qt proje yapılandırmasında en sık yapılan hatalar nelerdir ve nasıl önlenir?
Hedef tanımı, Qt bileşen bağımlılıkları, otomatik MOC/UIC süreçleri ve çoklu platform ayarlarında tipik sorunları inceleriz. Yapılandırmayı sadeleştiren ve tekrar kullanılabilir kılan yöntemler örneklendirilir.
Eğitim içeriğini ihtiyaçlarımıza göre özelleştirebilir misiniz?
Evet. Eğitim öncesinde ihtiyaç analizi yaparak içerik ve örnekleri ekibinize göre uyarlayabiliriz. Modüller eklenebilir, bazı başlıklar derinleştirilebilir veya sadeleştirilebilir.
Eğitim yeri, yöntemi ve sertifikasyon süreci nasıl ilerliyor?
Eğitim online (canlı) veya yerinde gerçekleştirilebilir; tarih ve saatleri ekibinizin uygunluğuna göre planlarız. Program sonunda katılım sertifikası verilir; talep edilirse ölçme-değerlendirme ve raporlama eklenebilir.



