2013-07-17 12 views

risposta

14

Quando si chiama updateGL() sul proprio widget (o update()), o semplicemente Qt decide di ridisegnare il widget. Motivi per cui Qt potrebbe scegliere di chiedere un ridisegno includono:

  • tuo widget viene ridimensionata
  • tuo widget è nascosto e mostrato ancora una volta
  • tuo widget è ridotto al minimo e quindi ripristinato
  • qualcos'altro è messo in di fronte al vostro widget e poi si allontanò
  • la Luna è nel terzo quarto
  • una farfalla lontana era sbatteva le ali
  • ...

In breve, si hanno ben poco controllo su quando Qt chiede un ridipingere. Assicurati di dipingere velocemente! :-)

+0

Informazioni complementari: 'paintGL()' non viene nemmeno chiamato "istantaneamente" quando si chiama 'updateGL()'. Invece, Qt lo attende e lo chiamerà più tardi, quando appropriato, in modo che le chiamate successive di 'updateGL()' risultino in una sola chiamata di 'paintGL()'. – Boris

+0

Grazie! Non ero a conoscenza delle funzioni update() e updateGL(). È tutto per esperienza? –

+0

Intendete, se questo è un elenco completo di quando Qt chiede di ripianare, a parte quelli generati dall'utente (cioè chiamando 'update()')? – peppe