Très application simple GUI Qt:QGraphicsItem redessiner problème déselectionner
- Sur la scène j'ai plusieurs cercles comme mis en œuvre QGraphicsItem
- boundingRect retourne carré autour ce cercle.
- La 'forme' de la méthode n'est pas remplacée.
Le problème apparaît lorsque la méthode de peinture() J'ai ajouté:
if (isSelected()) {
painter->drawRect(re);
}
La sélection est bien dessiné, mais désélection ne provoque pas de redessiner. Au niveau du journal, je peux voir que l'élément a vraiment perdu le drapeau de sélection. Appeler update() depuis itemChange est également inutile. Merci d'avance pour toute suggestion.
pouvez-vous m'expliquer pourquoi ce drapeau setCacheMode est en train de créer le problème .. maintenant je suis confronté au même problème. si je mets le QGraphicsProxyWidget avec ce drapeau, il n'affiche pas l'étiquette correctement jusqu'à ce que je mette la fenêtre à opengl. – Wagmare
@Wagmare c'est plutôt simple - parce que la bordure autour de l'élément n'apparaît pas dans le cache. Le niveau de cache de DeviceCoordinateCache est trop bon, c'est pourquoi les changements de bordure n'y sont pas visibles. – Dewfy
thx pour beaucoup de réponse utile .. alors comment puis-je utiliser le cache sur QGraphicsProxyWidget que j'ai besoin d'ajouter plus de mille éléments son nécessaire pour utiliser le cache. – Wagmare