QThread ile GUI Donmasını Önleme (Worker Pattern)

Masaüstü uygulamalarında kullanıcı deneyimini bozan en büyük problemlerden biri arayüzün kilitlenmesi veya donmasıdır. Bir dosya indirirken, büyük bir veri tabanını işlerken veya karmaşık bir algoritma çalıştırırken pencerenin yanıt vermemesi (Application Not Responding), işlemin ana iş parçacığında (Main/GUI Thread) çalışmasından kaynaklanır. Bu sorunu çözmek için en doğru yaklaşım Qt QThread kullanımı ve Worker Object Pattern mimarisidir. […]

Signals ve Slots Mekanizması: Nesneler Arası Temiz İletişim

Grafiksel arayüz (GUI) programlamada veya olay tabanlı (event-driven) mimarilerde farklı nesnelerin birbirleriyle gevşek bağlı (loosely coupled) şekilde haberleşmesi en kritik tasarım gereksinimidir. Qt framework’ünün kalbinde yer alan Qt signals and slots mekanizması, geleneksel C stili geri çağırım (callback) fonksiyonlarına kıyasla tür güvenli (type-safe), modüler ve okunabilir bir iletişim kanalı sunar. Bu rehberde, signals ve slots […]

Manjaro QDebug Hatasının Çözümü

Eğer Manjaro veya Arch tabanlı bir işletim sistemi kullanıyorsanız ve QT Creator uygulamasını pacman ile yüklediyseniz muhtemelen qDebug() fonksiyonu ile Application Output üzerinden debugging yapamıyorsunuzdur. Bu hatayı QT yi kendi sitesinden indirip kurulumunu gerçekleştirenlerin görmediği ve rahat bir şekilde debugging yapıldığı söyleniyor. Ancak Manjaronun reposundan kurduysanız muhtemelen böyle bir hatayla karşılaşabilirsiniz. Uzun araştırmalarım sonucunda basit […]