Uzun bir işlem gerçekleştiren bir işlem oluşturuyorum ve bir şeyler olduğuna dair görsel geri bildirim vermek istiyorum, bu nedenle imleci meşgul ve QProcess::finished
sinyalini aldığımda geri yükleyin.İmleci kum saatine/bekle/meşgul imleçine ve tekrar Qt olarak değiştirin
33
A
cevap
53
Qsiris çözümü "Widget Geniş" dir. Eğer tüm uygulama için imleci değiştirmek istiyorsanız o zaman
QApplication::setOverrideCursor(Qt::WaitCursor);
ve
QApplication::restoreOverrideCursor();
Not kullanın: @Ehsan Khodarahmi işaret gibi, imleç sonraki QT olay tetikleyici ya çağıran kadar DEĞİŞTİREMEYECEĞİNİZİ edecek QApplication :: processEvents() el ile.
15
kullanın bu süreç başladığında beklemek imleci ayarlamak için:
this->setCursor(Qt::WaitCursor);
Ve bu normale döndü imleci geri
this->setCursor(Qt::ArrowCursor);
(QProcess için yuvaya :: bitmiş bu koymak) için
İmlecin bir sonraki QT olayını tetikleyene veya "QApplication :: processEvents()" işlevini manüel olarak –
@EhsanKhodarahmi'ye çağırana kadar değişmeyeceğini sanmıyorum: Sanırım "unutma" demek istediniz, ama bir saat güreşten sonra Bu sayıyla "affetme" de iyi çalışıyor. Hatırlatma için teşekkürler. –