2010-09-28 4 views
2

Après la fermeture de mon programme après l'exécution de Qt Creator, je peux voir comment un message qui ressemble à ceci:Max widgets information dans Qt

Widgets gauche: 0 widgets Max: 281

Ceci est dû à l'argument -widgetcount ajouté dans les paramètres d'exécution. Ma question est: que signifie max widgets? Est-ce que cela représente combien de widgets ont été créés? Je suis inquiet en termes d'utilisation de la mémoire après avoir vu le nombre continue d'augmenter chaque fois que je rouvre et ferme le même dialogue plusieurs fois. C'est comme si chaque fois que je rouvre (le même Dialog), les widgets ne sont pas fermés correctement et les nouveaux widgets continuent de s'empiler dans la mémoire.

+1

1) Avez-vous suivi des parents et des enfants de la relation QWidget? 2) Veuillez donner des extraits de code pour une meilleure compréhension. –

Répondre

1

Selon Qt docs,

-widgetcount, imprime un message de débogage à la fin sur le nombre de widgets gauche nombre non détruite et un maximum de widgets existait en même temps

Il est utilisé pour identifier s'il y a des fuites de mémoire dans votre application.

De votre question,

Widgets gauche: 0 widgets Max: 281

Le nombre de non détruite (gauche) est et le nombre maximum de widgets existant (Max widgets) est ..

Vous n avez à vous soucier de fuites de mémoire tant que la gauche est nul ..

Hope it helps ..

+0

"le nombre maximum de widgets existait en même temps" cela signifie-t-il que si un widget qui apparaît 5 fois va augmenter les "widgets maximum" à 5 autres? Ce qui signifie que le nombre total n'est pas unique, il augmentera juste chaque fois qu'un widget apparaît? – amree

+1

@aurorius, le nombre n'augmentera pas à chaque fois que le widget apparaîtra, mais chaque fois que vous le créerez ('nouveau') .. une fois que vous aurez créé une instance et si vous' hide() 'et' show() ' ne changera pas mais sera changé lors de la création seul .. – liaK