2010-12-10 21 views
1

Cela se produit lorsque j'ajoute des éléments un à la fois (en ajoutant un élément, puis en revenant à la boucle d'événements). Pour illustrer, mon code ressemble à peu près à ceci:QListWidget :: addItem donne un scintillement effroyable

 
    .................... 
    timer = new QTimer(this); 
    timer->setInterval(0); 
    connect(timer, SIGNAL(timeout()), this, SLOT(onTimeout())); 
    .................... 

void Dialog::onTimeout() 
{ 
    QListWidgetItem* item = new QListWidgetItem; 

    .................... 

    ui->listWidget->addItem(item); 
} 
+0

Mon système d'exploitation est Linux (Xubuntu Meerkat) – sashoalm

Répondre

0

Le code me semble OK. Je l'ai couru sur ma machine locale et il a exécuté sans scintillement. Avez-vous affaire à des graphismes intenses (même cela devrait être OK en raison de la façon dont Qt définit timeout (0) ... en attendant que la file d'attente des événements se termine)? Très probablement, il y a un autre code qui est le coupable.

+0

Merci de votre réponse. J'ai oublié de mentionner que je l'utilise sur Linux (Xubuntu Meerkat pour être exact). Ce scintillement peut être un problème spécifique au système d'exploitation, qui sait. Quoi qu'il en soit, je vais essayer d'exécuter le code moi-même dans un projet de test, je n'avais pas pensé à le faire. – sashoalm

+0

C'est très étrange, même un projet de test avec seulement ce code donne un scintillement. J'allais donner le code, mais je ne sais pas comment l'envelopper dans les balises ( ou

 ne fonctionnait pas). –
                        
                            
    sashoalm
                                
                            
                        
                    

+0

dans la zone d'édition de texte (lorsque vous modifiez votre question), vous pouvez sélectionner votre texte, puis appuyez sur le bouton de raccourci de code pour le formater pour afficher le code. – GatorGuy