Aşağıdaki sınıf tasarımları gibi bir şey var ve bunların arasında iletişim kurmak için birçok sinyal yuvası bağlantısı kullanmama sorun olup olmadığını merak ediyorum. Tüm GUI'yi tutan bir MainWindow
sınıfı, daha sonra arka uç için bir arabirim sağlayan bir Wrapper
sınıfı var, o zaman iş parçacığı oluşturmak ve yönetmek için bir Controller
sınıfı var ve sonunda tüm iş yapan Worker
s var.Zincir sinyalleri ve yuvaları birkaç kez tamam mı?
Şimdi bir dosya yüklediğimi ve MainWindow
'daki bir ilerleme çubuğu kullanarak ilerlemeyi görüntülemek istediğimi varsayalım. Worker
sınıfım, Wrapper
sınıfına ilerleme sinyalini gönderen updateProgress(int progress)
sınıfına updateProgress(int progress)
sınıfını gönderir, bu da ana pencereye bir ilerleme sinyali gönderir ve sonuçta ilerleme çubuğunu günceller.
Benzer şekilde, veriler yüklendiğinde, Wrapper
sınıfında işlenir ve tekrar sinyaller ve yuvalar (daha az adımda olsa da) aracılığıyla iletilir.
Qt'de işleri yapmanın standart bir yolu mu yoksa tasarımımı yeniden düşünmeli miyim?
Çok iyi cevap. – user2672165