qscrollarea kullanarak bir belge/resim görüntüleyici uygulamaya çalışıyorum. Birçok sayfa içeren dosyaları yüklerken yavaşça qscrollarea gerçekleştirdim. Yaklaşık 1.3 bin sayfalık bir belge için, yüklemeyi bitirmek yaklaşık yarım dakika sürdü. ,Çok sayıda görüntü ile qscrollarea performansı nasıl geliştirilir?
for (int i = 0; i < DOC_COUNT; ++i) {
QLabel *label = new QLabel();
label->setPixmap(IMAGE);
qvboxlayout_->addWidget(label);
QCoreApplication::processEvents();
}
Ben robot sistemi otomatik şişirir bir mekanizmaya sahiptir biliyorum geri dönüştürür ve görüşlerini yeniden kullanır:
ana yükleme prosedürü böyledir. Qt'nin böyle bir mekanizması var mı?
Sorununuz, tüm bu görüntüleri önceden yüklemektedir. Bunu yapma. Onları talep üzerine yükleyin. Bunu başarmak için 'QLabel'ı biraz özelleştirmeniz veya kendi widget'ınızı yapmalısınız. –
@KubaOber Peki "Onları talep üzerine yükle" nasıl? Bana bazı ipuçları gösterebilir misin? – Lion
Yüklemeyi etiketin kendisi ilk defa boyandıktan sonra gerçekleştirebilirsiniz: etiket yeniden boyaması olayını aldığında izleyin ve görüntüyü üzerine yükleyip ayarlayın. Yine de, her bir resmin a-priori boyutlarını bilmeniz gerekir, böylece etiketlerin doğru boyutları vardır, ancak içeriği yoktur. –