Model/View Mimarisi: QTableView ve QAbstractTableModel ile Büyük Veri Yönetimi

Qt GUI uygulamalarında tablo ve listelerle çalışırken acemi geliştiricilerin düştüğü en büyük tuzak QTableWidget kullanmaktır. 10.000 veya 100.000 satırlık bir veri kümesini QTableWidget içerisine tek tek QTableWidgetItem nesneleri olarak eklemeye kalktığınızda, yüz binlerce C++ nesnesi oluşturulur, bellek tükenir ve arayüz saniyelerce donar. Kurumsal ve yüksek performanslı uygulamalarda Qt Model View mimarisi kullanmak; veriyi arayüzden tamamen […]

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. […]